【发布时间】:2020-12-22 06:29:09
【问题描述】:
我已经创建了一个类似下面的过程。我有点了解 PL SQL,但我是 DB2 新手。 当我执行以下过程时,出现错误提示使用保留关键字结尾无效。
CREATE PROCEDURE test()
LANGUAGE SQL
DYNAMIC RESULT SETS 1
WLM ENVIRONMENT FOR DEBUG MODE #TTCOM
ASUTIME NO LIMIT
BEGIN
DECLARE SQLSTATE CHAR(5) DEFAULT '00000';
DECLARE SQLCODE INTEGER DEFAULT 0;
DECLARE TABLE_DOES_NOT_EXIST_STATE CONDITION FOR SQLSTATE '42704';
DECLARE tname VARCHAR(5000);
DECLARE CONTINUE HANDLER FOR TABLE_DOES_NOT_EXIST_STATE BEGIN
END;
FOR i AS SELECT tablename FROM EWPS.tablelist
DO
tname = 'create table '+i.tablename+'_2112 like '+i.tablename+';' ;
tname1 = 'insert into '+i.tablename+'_2112 (select * from '+i.tablename+');';
call DBMS_OUTPUT.PUT(tname)
execute immediate tname;
execute immediate tname;
--set tname=i.tablename
END FOR;
--RETURN tname ;
--COMMIT;
END test;
非常感谢任何帮助
【问题讨论】:
-
Db2 的版本和平台是什么?如果是 LUW,是否启用了 Oracle 兼容模式?确切的错误信息是什么?什么是语句终止符?
标签: db2