扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
2007年9月7日
关键字:
产品: DB2 UDB
平台: Cross Platform
版本: V8
如何从命令行处理器(CLP)使用CALL语句调用存储过程?
您可以通过从 DB2 命令行处理器界面使用 call SQL 语句调用存储过程。
步骤:
要调用存储过程,首先连接至数据库:
db2 connect to sample user userid using password
其中 userid 和 password 是样本数据库所在的实例的用户标识和密码。
要使用 call 语句,输入存储过程名加上任何 IN 或 INOUT 参数,并输入“?”作为每个 OUT 参数的占位符。
存储过程的参数是在程序源文件中的存储过程的 CREATE PROCEDURE 语句中给定的。例如,在 SQL 过程源文件 whiles.db2 中,以 DEPT_MEDIAN 过程的 CREATE PROCEDURE 语句开头:
CREATE PROCEDURE DEPT_MEDIAN
(IN deptNumber SMALLINT, OUT medianSalary DOUBLE)
要调用此过程,需要对 IN 参数 deptNumber 指定一个有效的 SMALLINT 值,并对 OUT 参数指定一个问号“?”。DEPT_MEDIAN 过程将存取样本数据库的 STAFF 表。变量 deptNumber 被指定给 STAFF 表的 DEPT 列,因此您可以从 DEPT 列中获取有效值:例如,值“51”。
现在,可以输入带有过程名的 call 语句,并对 IN 参数指定了值且对 OUT 参数的值指定了一个问号“?”。过程参数必须括在圆括号中,如下所示:
db2 call dept_median (51, ?)
注意:
在 UNIX 平台上,圆括号对于命令外壳程序具有特殊意义,因此必须将 "\" 字符置于其前面或将其用引号引起来,如下所示:
db2 "call dept_median (51, ?)"
如果您正在使用命令行处理器的交互方式,则不要使用引号。
在运行以上命令之后,应会出现以下结果:
输出参数的值
--------------------------
参数名:MEDIANSALARY
参数值:+1.76545000000000E+004
B20000I SQL 命令成功完成。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者