callproc()
功能
该函数是存储过程的执行函数,支持存储过程带参数(in、out、inout)、存储过程不带参数、存储过程返回结果集。并输出执行之后的相关参数的值。
参数
- 存储过程名。
- 若存储过程需要传递参数,第二个参数应该为参数元组对象。
- 若存储过程需要传递参数,第三个参数应该为参数类型元组对象。
返回值
参数列表对象。
使用说明
- 若存储过程无参数,则在函数内传入存储过程名即可。
- 若存储过程存在参数,需要传入两组参数:第一组为参数数据,第二组为参数的输入输出类型(in、out、inout),两组参数都以元组或列表方式传入。
- 若存储过程执行后会产生结果集(存储过程内有 select 语句),则需要用户调用 setinputtype 函数提前指定参数的数据类型(Xugu_C_REFCUR),参数数据类型参考 4.3 节,setinputtype 函数下面会详细解释用法用例,详细示例参考第六章。
- 函数执行之后会将传入的参数统一输出。
代码示例
## 执行无参数存储过程
print(cur.callproc("test_no_parameter"))
## 执行有参数存储过程
print(cur.callproc("test_in",(20,),(1,)))
print(cur.callproc("test_out",("xugu",),(2,)))
print(cur.callproc("test_inout",(20,'xugu'),(3,2)))