declare p_ii INT ;
begin
select para_value into p_ii from v$dm_ini where para_name='KEEP1';
end;
像这种赋值失败的情况,怎么样优化?
这个是因为没有查到记录。
如果不想返回报错的话,可以使用查询的结果赋值,如:
p_ii := (select para_value from v$dm_ini where para_name='KEEP');
或者可以加一个异常处理
declare
p_ii INT ;
begin
set p_ii = (select para_value from v$dm_ini where para_name='KEEP1');
select p_ii;
end;
没法赋值,p_ii是int类型,而para_value是varchar类型。