- 论坛徽章:
- 0
|
怎样SQL存储过程中执行动态SQL语句,急急急!!
我查了一下资料,我以为是没有写allowed-SQL语句的原因后来把代码改为
create procedure refresh(in id integer, out errorCode integer, out errorLabel varchar(255))
DYNAMIC RESULT SETS 0
MODIFIES SQL DATA
language sql
P1: begin
declare SQLCODE integer default 0;
declare stmt varchar(1024);
declare EXIT HANDLER FOR SQLEXCEPTION, SQLWARNING, NOT FOUND
set errorCode = SQLCODE;
set errorCode = 0;
set stmt = 'insert into t_login(F_ID) '||
'values('||cast(id as char( )||')';
set errorLabel = 'refresh:The line number is 28.';
--使用prepare语句为这个语句生成存取方案
prepare ps from stmt;
set errorLabel = 'rerresh:The line number is 31.';
--使用execute语句执行动态sql语句
execute ps using id;
set errorLable = ''; --当全部sql语句都正确执行时把errorLable变量赋值为空串
end P1
多了一条allowed-SQL语句
我再编译,还出现相同的问题SQL0198N,怎么回事呢?
|
|