execute immediate vsql0 into vsum 今天发现,如果 vsql0 这个动态SQL如果返回值为null时候 ,执行execute immediate vsql0 into vsum 就跑出异常,vsum变量定义为:number(8,2);感觉就是vsum不能把null值放进去,我该如何处理这个问题,确实执行vsql0有可能返回null值,哪位英雄指点一下。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 先判斷vsql0這個語句返回的是否是null,若是則不執行,若不是則執行 用dual表作为右连接,如下,没记录,但不会有错,还可以用异常处理,方法很多的,用久了就清楚了declare v_t int; v_sql varchar2(200);begin v_sql := 'select empno from emp right join dual on empno=1111'; execute immediate v_sql into v_t; dbms_output.put_line(v_t); end;/ vsql0 是什么样子的语句?对该语句进行处理,保证不返回NULL即可 关于ora-00913错误 查询语句 SQL求教 Cannot create PoolableConnectionFactory (Listener refused the connection with th 求解一个查询问题 数据库插入 悄悄问一个过程中的一个代码意思,在线等! 创建表空间错误,求救!!! Oracel CD 清单,请大侠帮忙看看都是些什么东东? ORA-29884: 将要删除的列中有域索引定义 本地动态sql超过32k且用dbms_sql创建临时表也不够求高手帮忙! execute immediate vsql0 into vsum
v_t int;
v_sql varchar2(200);
begin
v_sql := 'select empno from emp
right join dual on empno=1111';
execute immediate v_sql into v_t;
dbms_output.put_line(v_t);
end;
/