python pymssql库调用存储过程

今天项目使用到调用一个sql server的存储过程读取其中内容然后存到另一张表,作为一个看板使用的数据。百度了一圈,亲测下面方法可用!

一 安装sql server的库

pip install pymssql

二 配置数据库读取存储过程

import pymssql'''配置'''server='xxx'user ='xxx'password='xxx'database='xxx''''连接数据库'''conn = pymssql.connect(server, user, password, database)cursor = conn.cursor()cursor.execute(f'exec 存储过程名称 @参数1='xxx',@参数2='xxx',@参数3='xxx',@参数4='xxx'')result = cursor.fetchall()  #得到结果集for i in result:  print(i)  #遍历打印查询结果集的数据
注:变量前面要加@,要是调用存储过程无需传参可忽略;
pymssql 2.0以上可通过cursor.callproc方法调用存储过程cursor.callproc('存储过程','参数元组') 需使用cursor.nextset()才能得到结果集

三 写入数据库

sql = '''INSERT INTO [数据库].[文件名].[表名] ([column1],[column2],[column3],[column4]...)                                  VALUES({value1},{value2},'{value3}',{value4}...);                                                '''.format(    value1=参数1,    value2=参数2,    value3=参数3,    value4=参数3,    ...)cursor.execute(sql)conn.commit()conn.close()
注:写入数据库字段若为string,引参时需加个引号,如'{value3}'
(0)

相关推荐