create or replace function aa(name1 in varchar2) return number
is
aa1 varchar2(4);
begin--增加下面的语句
whenever not found continue;select c1 into aa1 from tt_3 where c1=name1;
if sql%notfound then
return 2;
else
return 3;
end if;
end;
is
aa1 varchar2(4);
begin--增加下面的语句
whenever not found continue;select c1 into aa1 from tt_3 where c1=name1;
if sql%notfound then
return 2;
else
return 3;
end if;
end;
2 C NUMBER;
3 BEGIN
4 SELECT 2 INTO C FROM EMP WHERE 1=2;
5 EXCEPTION WHEN NO_DATA_FOUND THEN
6 DBMS_OUTPUT.PUT_LINE('NO DATA');
7 END;
8 /Procedure created.SQL> SET SERVEROUTPUT ON;
SQL> EXEC P_DEMO;
NO DATAPL/SQL procedure successfully completed.SQL>
你这样做有问题吧,我现在通过一系列的判断后,还要删除数据,最后如果删除不成功还要exception,这样不是报错吗,会说要转到exception中我现在只有count一下,如果是0就表示没有,是大于0表示有了
SQL> CREATE OR REPLACE PROCEDURE P_DEMO AS
2 C NUMBER;
3 CURSOR C_TEMP IS SELECT 2 FROM EMP WHERE 1=2;
4 BEGIN
5 OPEN C_TEMP;
6 FETCH C_TEMP INTO C;
7 IF C_TEMP%NOTFOUND THEN
8 DBMS_OUTPUT.PUT_LINE('NO DATA');
9 ELSE
10 DBMS_OUTPUT.PUT_LINE('SELECTED DATA');
11 END IF;
12 END;
13 /Procedure created.SQL> EXEC P_DEMO;
NO DATAPL/SQL procedure successfully completed.SQL>
return number
is
aa1 varchar2(4);
begin
update test set name1=name1 where name=name1;
if sql%notfound then
return 2;
else
return 3;
end if;
end;
/