1. TEST라는 이름의 계정에 'SP_001'이란 이름으로 프로시져를 생성한다.이때 인자로 P_TEST_NO ,P_TEST 값을 받는다.
2. 변수를 선언한다.
3. V_RH_PLC_NO 은 TEST_TABLE의 RH_PLC_NO 필드의 형을 지정하기 위해 %TYPE 를 사용하였다.
4. BEGIN 이후에 쿼리문을 기록한다.
5. 쿼리문 끝에는 END를 기록한다.
CREATE OR REPLACE PROCEDURE TEST.SP_001 (P_TEST_NO VARCHAR2, P_TEST VARCHAR2) IS
V_TEST_NO VARCHAR2(8) := NULL; --
V_IN_TEST_NO VARCHAR2(8) := NULL;
V_SLMK_PLNT_GP VARCHAR2(1) := NULL; --'C'
--SET VALUE
V_RH_PLC_NO TEST_TABLE.RH_PLC_NO%TYPE;
V_RH_HD_SNO TEST_TABLE.RH_HD_SNO%TYPE;
BEGIN
--PARM SET
V_TEST_NO := P_TEST_NO;
V_SLMK_PLNT_GP := 'C';
V_IN_TEST_NO := 'M91000';
BEGIN
INSERT INTO TEST_TABLE (TEST_NO,RH_PLC_NO,RH_HD_SNO,SLMK_PLNT_GP,PTOP_GP)
SELECT V_IN_TEST_NO, 1,1,'C','S' FROM TEST_TABLE WHERE TEST_NO=V_TEST_NO;
DBMS_OUTPUT.PUT_LINE('테이블 INSERT 완료 ==> '||SQL%ROWCOUNT);
DBMS_OUTPUT.PUT_LINE('완료 ==> '||SQLERRM);
END;
COMMIT;
EXCEPTION WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('등록 ERROR :'||SQLERRM);
END;
'SQL > 프로시저' 카테고리의 다른 글
sql - select into 문 (0) | 2014.08.04 |
---|