Skip to content

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)))