欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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来查看返回结果集的列表标题

相关标签: SQLAlchemy