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()才能得到结果集
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)