본문 바로가기

Web_Application/python

[python] sp 명으로 sp create 구문 가져오기



파이썬 3.x + mssql

import pymssql

def execute(query):
    conn = pymssql.connect(server='{서버IP}', user='{아이디}', password='{패스워드}', database='{db명}', charset='utf8')
    cursor = conn.cursor(as_dict=True)

    result_data = []

    if conn:
        # print('{서버IP} connected')

        cursor.execute(query)
        index = 0
        for row in cursor:
            result_data.insert(index, row)
            index = index + 1
    else:
        # print('{서버IP} connect error')
        pass
    
   
    conn.close()
    conn = None

    return result_data
 

def procedure_text(sp_name):
    sql = "SELECT OBJECT_NAME(object_id) AS sp_name, OBJECT_DEFINITION(object_id) AS sp_context FROM sys.procedures WHERE OBJECT_DEFINITION(object_id) like '%" + sp_name + "%'"

    result = execute_fa(sql)
    if result:
        for item in result:
            if(item['sp_name'] == sp_name):
                sp_context = item['sp_context'].replace(sp_name, "")
        # print(sp_name, " - RESULT")
    else:
        sp_context = "NO_RESULT"        
        # print(sp_name, " - NO_RESULT")

    return sp_context