PL / SQL 사용자 정의 이상 (5)

Oacle 은 가끔 쓰 는 과정 에 이상 이 있 습 니 다. 저 는 많이 쓰 지 않 습 니 다. 여기 서 간단하게 소개 하 겠 습 니 다.
 
set serveroutput on;

DECLARE
  --       
  my_exception exception;
  --      ,   :-20000 .. -20999
  pragma exception_init (my_exception, -20020);
BEGIN
    --       ,   raise + exception_name
    raise my_exception;
end;

 

--         ,      ,     ,     :


DECLARE
  v_name varchar2(100);
  --       
  my_exception exception;
  --        ,   :-20000 .. -20999
  pragma exception_init (my_exception, -20020);
BEGIN
    --            :  no_data_found,    
    raise my_exception;
    exception
    when my_exception then
      dbms_output.put_line('       ');  
    when others then
      dbms_output.put_line('  !');  
end;

 
 
--                 ,    

DECLARE
  v_num number;
BEGIN
    select count(*) into v_num from test_table  where user_id =1;
    if v_num >0 then
      -- raise_application_error         ,     :sqlcode,errmsg,[true,false]
      -- sqlcode    -20000 -200999,msg     ,    2K
      --       false,            。
      raise_application_error(-20005, '    !');
    end if;
end;

 
 
알림: 1. 여 기 는 간단하게 설명 한 것 일 뿐 이상 나 는 많이 쓰 지 않 고 일반 시스템 에서 정의 하면 충분 하 다.일부 파 라 메 터 를 정의 하여 이상 정 보 를 저장 하고 되 돌려 클 라 이언 트 에 반영 할 수 있 습 니 다.
     2. 두 가지 이상 은 사실 하나 입 니 다. 시스템 은 많은 이상 을 정 의 했 습 니 다. 참고 할 수 있 습 니 다.http://cache.baiducontent.com/c?m=9d78d513d99e01fc09b3c3690d67c0171243f46
   82ba6d1020bd18449e3732d41501192ac57230777d2d27c1616af384beb802103461457c18cb8f95dabba85295f9f5134676bf75662d20edcca5124b137e658fede1ef0cb8425e0aec6949f0a5c9015433897f1f8471d449432a5033194f7d81e494810cdb16723e2072d629f204bbd5aaaa0743556dfa1c00a1b85798b3f508aaa34b33b16bf19&p=8d769a47838811a058ee973f53568d&newp=93628b0e85cc43ff57ed977d5b548c231610db2151d1d712&user=baidu&fm=sc&query=oracle+%C9%F9%C3%F7%D2%EC%B3%A3+%2C%CC%ED%BC%D3%D2%EC%B3%A3%D0%C5%CF%A2&qid=&p1=1

좋은 웹페이지 즐겨찾기