oracle 저장 프로세스의 기본 문법

1. 저장 프로세스의 구문 구조:
CREATE OR REPLACE PROCEDURE 프로세스 이름 AS
성명 문장 단락;
BEGIN
문장 세그먼트 실행하기;
EXCEPTION
이상 처리 문장 단락;
END;
         
2、SELECT INTO STATEMENT
SELECT 쿼리의 결과를 변수에 저장하면 여러 열을 동시에 여러 변수에 저장할 수 있습니다. 하나의 레코드가 있어야 합니다. 그렇지 않으면 예외가 발생합니다. 예를 들어 레코드가 없으면 NO_DATA_FOUND가 발생합니다.
BEGIN SELECT col1,col2 INTO 변수1, 변수2 FROM typestruct where xxx;EXCEPTION    WHEN NO_DATA_FOUND THEN xxxx;END;
        
3. IF 판단 IF V_TEST=1 THEN    BEGIN         do something    END;END IF;
        
4, WHILE 순환 WHILE V_TEST=1 LOOP    BEGIN        XXXX    END;END LOOP;
           
5, 변수 할당 V_TEST := 123;
        
6, FOR IN으로 Cursor 사용...IS    CURSOR cur IS SELECT * FROM xxx;BEGIN    FOR cur_result IN cur LOOP        BEGIN            V_SUM :=cur_result.열명 1+cur_result.열 이름 2 END;    END LOOP;END;
    
7, 매개변수가 있는 CURSORCURSOR C_USER(C_ID NUMBER) IS SELECT NAME FROM USER WHERE TYPEID=C_ID;OPEN C_USER(변수 값);    LOOP        FETCH C_USER INTO V_NAME;        EXIT FETCH C_USER%NOTFOUND;        do something    END LOOP;CLOSE C_USER;
           
스토리지 프로세스 인스턴스 생성

  
CREATE OR REPLACE PROCEDURE stu_proc as
--
v_name varchar2 ( 20 );
BEGIN
--
SELECT o.sname INTO v_name FROM student o WHERE o.id = 1 ;
DBMS_OUTPUT.put_line(v_name);
EXCEPTION
--
WHEN NO_DATA_FOUND THEN DBMS_OUTPUT.put_line( ' NO_DATA_FOUND ' );
END ;

--
--
CALL stu_proc();

좋은 웹페이지 즐겨찾기