动态调用存储过程

动态调用存储过程必须使用匿名的语句块将存储过程或语句块包在里面,使用EXECUTE IMMEDIATE…USING语句后面带IN、OUT来输入、输出参数。

语法

语法请参见图1

图 1 call_procedure::=
动态调用存储过程 - 图1

using_clause子句的语法参见图2

图 2 using_clause::=
动态调用存储过程 - 图2

对以上语法格式的解释如下:

  • CALL procedure_name:调用存储过程。
  • [:placeholder1,:placeholder2,…]:存储过程参数占位符列表。占位符个数与参数个数相同。
  • USING [IN|OUT|IN OUT] bind_argument:用于指定存放传递给存储过程参数值的变量。bind_argument前的修饰符与对应参数的修饰符一致。