set serveroutput on size 900000;DECLARE test VARCHAR(255):=0;BEGIN SELECT ID INTO test FROM sku WHERE ID = 1515; dbms_output.put_line('Result:' || test);END;
我有错误
"no data found"
当数据库中不存在ID时.
我怎么能在这里使用类似nvl()的东西,所以我可以得到一个默认值而不是得到一个错误?
解决方法 如果合适,您可以将此作为更常见的NO_DATA_FOUND异常处理的替代方法:DECLARE test VARCHAR(255):=0;BEGIN SELECT NVL(MAX(ID),'default') INTO test FROM sku WHERE ID = 1515; dbms_output.put_line('Result:' || test);END;
通过使用MAX(ID),您肯定会返回一行,当没有数据时将返回NulL;然后以通常的方式使用NVL.
总结以上是内存溢出为你收集整理的oracle – pl / sql – 是否有空行的NVL()全部内容,希望文章能够帮你解决oracle – pl / sql – 是否有空行的NVL()所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)