科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网存储频道如何从命令行处理器(CLP)使用CALL语句调用存储过程?

如何从命令行处理器(CLP)使用CALL语句调用存储过程?

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

如何从命令行处理器(CLP)使用CALL语句调用存储过程? 您可以通过从 DB2 命令行处理器界面使用 call SQL 语句调用存储过程。

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领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章