小弟初学oracle,oracle过程中select如果查不到结果可不可以赋值一个变量为null或其他的呢
比如a=1,2,3oracle中存储过程select*intov_afromtablewherev_a=a;而table表中只有1,2测试的时候到了a=3时就报错,我想在...
比如a=1,2,3
oracle中存储过程select * into v_a from table where v_a = a;
而table表中只有1,2
测试的时候到了a = 3时就报错,我想在a =3 时v_a = null 展开
oracle中存储过程select * into v_a from table where v_a = a;
而table表中只有1,2
测试的时候到了a = 3时就报错,我想在a =3 时v_a = null 展开
2个回答
2011-10-14
展开全部
可以用异常来做哦,亲!
BEGIN
select price into ld_htprice from CGHTMXB where htid=ls_cghtid and bh=ls_bh;
EXCEPTION
when NO_DATA_FOUND THEN ld_htprice :=null;
when OTHERS THEN ld_htprice :=null;
END;
BEGIN
select price into ld_htprice from CGHTMXB where htid=ls_cghtid and bh=ls_bh;
EXCEPTION
when NO_DATA_FOUND THEN ld_htprice :=null;
when OTHERS THEN ld_htprice :=null;
END;
展开全部
赋值不是你这样的赋值的。
比如变量test,我要给他赋值。
test:=3
比如变量test,我要给他赋值。
test:=3
追问
好吧~oracle存储过程中是这样的:
select price into ld_htprice from CGHTMXB where htid=ls_cghtid and bh=ls_bh;
现在表中bh没有ls_bh的值了报错了,我想让现在ld_htprice = null;可以实现么
追答
你来判断取出的数据多少条。
select count(1)from CGHTMXB where htid=ls_cghtid and bh=ls_bh;
如果没有数据那么就是0
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |