由于在答案期间做了一些更改,因此工作程序是:
CREATE OR REPLACE PROCEDURE SQLTEST(in intab VARCHAR(50))
LANGUAGE SQL
BEGIN ATOMIC
DECLARE SQLCMD VARCHAR(1024);
DECLARE tabname VARCHAR(50);
SET tabname=intab;
FOR v AS cur1 CURSOR FOR SELECT ID, CMD from COMMANDTBL
DO
SET SQLCMD = REPLACE(v.CMD, 'TABREPL', tabname);
PREPARE myStmt FROM SQLCMD;
EXECUTE myStmt;
END FOR;
END@
如图所示,我想使用in参数调用该过程,该参数是内部sql定义中的表名。
调用它是:
CALL SQLTEST('targettbl')@
谢谢。
TheVagabond
答案 0 :(得分:1)
在单个表达式中执行逻辑是否有效?
SET SQLCMD = REPLACE(v.CMD, 'TABREPL', tabname);