标签:q1 end 数据库 记录下来 date oracle c1 null id
Oracle数据库if镶嵌
- --if镶嵌结构没错区别于简单的if-elsif-else,
if (c1 <>0) then --当满足c1不等于0时
if (store=0) then --在c1不等于0的条件下,当store=0时,提示异常q1.
raise q1;
elsif (no_return = 1) then --在c1不等于0的条件下,当no_return=1时,提示异常q。
raise q;
else
insert into borrow_order (order_id,c_id,book_id,chekout_date,due_date,return_date,status)
values(orderid,cid,bookid,out_time,due,null,'borrowed');
commit;
dbms_output.put_line('借阅成功!√');
end if;
end if;
if (c1=0) then --当c1=0满足时
if (store = 0) then --判断store=0提示异常q1
raise q1;
else
insert into borrow_order (order_id,c_id,book_id,chekout_date,due_date,return_date,status)
values(orderid,cid,bookid,out_time,due,null,'borrowed');
commit;
dbms_output.put_line('借阅成功!√');
end if;
end if;
估计你也看出来了,我用if判断时总是使用数字(<>0,=0,=1),这是因为当判断的结果为空时oracle的查询结果为未选定行。而不是我们想的数字0,当然判断的时候使用is null,is not null也是可以的,但是我觉得使用count(*)更直接,更不容易报错,说多了都是调代码的辛酸泪。
标签:q1,end,数据库,记录下来,date,oracle,c1,null,id 来源: https://blog.csdn.net/vegetable___bird/article/details/105912349
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。