SQLAlchemy的使用(三)--调用stored procedure并且整合结果集
程序员文章站
2024-03-02 21:59:10
...
连接好数据库后,可以直接调用stored procedure文件,这里用到了cursor:
def exec_spGetRevisionInfo():
connection = db.engine.raw_connection()
cursor = connection.cursor()
cursor.execute('exec dbo.spGetRevisionInfo')
print cursor.fetchall()
cursor.nextset()
print cursor.fetchall()
cursor.nextset()
print cursor.fetchall()
如果执行的sp文件需要引入变量,这样使用:results = db.engine.execute('exec dbo.spGetRevisions ?', '变量的值')
这里每一个?代表一个变量的坑
cursor用来执行命令的方法:
callproc(self, procname, args): #用来执行stored procedure
execute(self, query, args): #执行单条sql语句
executemany(self, query, args): #执行单挑sql语句,但是重复执行参数列表里的参数
nextset(self): #移动到下一个结果集
cursor用来处理返回结果的方法:
cursor.fetchall() #在一个结果集内,接受全部的返回行,用list套着tuple
fetchmany() #接受size参数返回结果行
fetchone() #返回一条
scroll(self, value, mode="relative/absolute") #指针移动到某一行
查看cursor的相关API:https://github.com/mkleehammer/pyodbc/wiki/Cursor
可以用cursor.description
来查看返回结果集的列表标题