我可以在 PLSQL 中执行类似以下操作吗?
if (some_query) then
dbms_output.put_line('Your query returned at least 1 row.');
else
dbms_output.put_line('Your query returned no rows.');
end if;
我的用例是我想检查一个值是否已经存在于我的数据库中。如果该值已经存在,那么我会做一些与该值根本不存在时不同的事情。
最佳答案
如果您检查记录是否存在,那么您可以根据键从源表中选择 COUNT(*),因为它总是会返回一个您可以检查的值:
SQL> set serverout on
SQL> DECLARE
2 v_check NUMBER;
3 BEGIN
4 SELECT COUNT(*)
5 INTO v_check
6 FROM DUAL
7 WHERE DUMMY = 'X'
8 AND ROWNUM = 1;
9
10 if (v_check = 0) then
11 dbms_output.put_line('Your query returned no rows.');
12 else
13 dbms_output.put_line('Your query returned at least 1 row.');
14 end if;
15 END;
16 /
Your query returned at least 1 row.
PL/SQL procedure successfully completed.
SQL>
关于database - 在 PLSQL 的条件语句中使用查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9301592/