惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

小众软件
小众软件
V
Visual Studio Blog
博客园 - 三生石上(FineUI控件)
Last Week in AI
Last Week in AI
Blog — PlanetScale
Blog — PlanetScale
爱范儿
爱范儿
J
Java Code Geeks
A
About on SuperTechFans
F
Fortinet All Blogs
B
Blog
aimingoo的专栏
aimingoo的专栏
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Engineering at Meta
Engineering at Meta
Y
Y Combinator Blog
有赞技术团队
有赞技术团队
G
Google Developers Blog
Apple Machine Learning Research
Apple Machine Learning Research
V
V2EX
博客园_首页
博客园 - 叶小钗
罗磊的独立博客
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
D
Docker
云风的 BLOG
云风的 BLOG

博客园 - 蕭慶蘋

数据库锁 oracle instr,substr 截取字符串 循环读取写入表 Oracle For 循环,字符串拼接,查找 Putty PSCP iis,webservice 启用 acrobat.exe 打印 iis,webservice 打印 Oracle查询包,同义词 sqlserver 游标 Oracle 截取字符串,取系统时间 Sqlserver连接Oracle数据库 Java 连oracle 12C 起步_PreparedStatement Java 连oracle 12C 起步 powershell excel 导入 sqlserver 更改存储过程的所有者 jquery-autocomplete 参数说明 了解SQL Server触发器及触发器中的事务 经典SQL语句大全 事务使用
pymssql调用sqlserver存储过程带output 参数
蕭慶蘋 · 2018-09-07 · via 博客园 - 蕭慶蘋

pymssql调用sqlserver存储过程带output 参数

直接上代码

def api_adddept():
    data = json.loads(request.get_data())
    userdata={}
    
    with UseDataBaseSQLServer() as cursor:

        msg=cursor.callproc('[AppData].[dbo].[Fyit_AddDept]', (data["parentdept_add"],data["deptname_add"],1,pymssql.output(str),pymssql.output(str)))
        userdata['result_code']=msg[3]
        userdata['result_msg']=msg[4]
        
        # sql='DECLARE @return_value int,@result_code nvarchar(1024),@result_msg nvarchar(1024);'\
        #     'EXEC @return_value = [AppData].[dbo].[Fyit_AddDept] @parentid = {0},@dept = N\'{1}\',@display = 1,@result_code = @result_code OUTPUT,@result_msg = @result_msg OUTPUT;'\
        #     'SELECT    @result_code as N\'@result_code\',@result_msg as N\'@result_msg\',@return_value as N\'Return Value\';'

        # cursor.execute(sql.format(data["parentdept_add"],data["deptname_add"]))  
        # result = cursor.fetchone()  
# while result: # userdata['resultcode']=str(result[0]) # userdata['resultmsg']=result[0] # userdata['returnvalue']=str(result[2]) # break resp = jsonify(userdata) resp.status_code = 200 return resp

其上两种写法都可行。

第一种简单,方便。第二种还要自己拼SQL。