【问题标题】:Stored procedure on AIX environment and DYNAMICRULES BINDAIX 环境和 DYNAMICRULES BIND 上的存储过程
【发布时间】: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


【解决方案1】:

在同一会话中在CREATE PROCEDURE 之前使用CALL SET_ROUTINE_OPTS('DYNAMICRULES BIND') 语句。
Customizing precompile and bind options for compiled SQL objects

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-04-01
    • 2015-01-19
    • 1970-01-01
    • 2016-07-30
    • 1970-01-01
    • 2013-03-04
    • 2012-05-17
    相关资源
    最近更新 更多