【发布时间】:2020-01-11 05:34:39
【问题描述】:
我正在编写一个存储过程(在 AIX 环境中),我需要激活选中的“DYNAMICRULES BIND”。
CREATE OR REPLACE PROCEDURE jjjjjj_PROVA
( IN p_input1 CHAR(2) )
LANGUAGE SQL
SPECIFIC jjjjjj_PROVA
DYNAMICRULES BIND
P1: BEGIN
...
...
END P1
在分发阶段我收到以下错误。
xxxxx.jjjjjj_PROVA - Distribuzione avviata.
Creazione di procedura memorizzata restituzioni SQLCODE: -104, SQLSTATE: 42601.
xxxxx.jjjjjj_PROVA: 12: An unexpected token "BIND
P1" was found following "DYNAMICRULES". Expected tokens may include: "<space>".. SQLCODE=-104, SQLSTATE=42601, DRIVER=4.19.56
An unexpected token "BIND
P1" was found following "DYNAMICRULES". Expected tokens may include: "<space>".. SQLCODE=-104, SQLSTATE=42601, DRIVER=4.19.56
xxxxx.jjjjjj_PROVA - Distribuzione non riuscita.
xxxxx.jjjjjj_PROVA - Rollback completato correttamente.
在 DB2 Z/OS 环境下同样的说法是正确的。
提示?
谢谢!!
【问题讨论】:
-
如果您尝试在 Db2-Linux/Unix/Windows 上编译该过程,那么该语法对于 SQL PL 过程无效。对于 Db2-LUW,您可以为需要预编译的存储过程指定动态规则。不同的语法规则适用于 Db2-Z/OS 和 Db2-LUW。
标签: sql stored-procedures db2 aix