PLSQL 3

[PL/SQL] DBMS_OUTPUT.PUT_LINE 출력하기

이 전 글에서 프로시저 실행(호출) 방법을 알아보았다.이번에는 프로시저 내에 작성되어 있는 DBMS_OUTPUT.PUT_LINE를 출력하는 방법에 대해 기록한다. DBMS_OUTPUT.PUT_LINE()을 출력하기 위해서는 SERVEROUTOUT을 켜고 DBMS 출력 창을 열어야 한다. ① SERVEROUTPUT 켜기 SET SERVEROUTPUT ON; 이 코드를 프로시저 실행을 위해 작성한 익명 블록의 위에 작성하여 실행하면 된다.한번만 실행해두면 한 세션(Session) 내에서는 계속 동작한다. ② DBMS 출력 창 열기이 DBMS 출력 창에 DBMS_OUTPUT.PUT_LINE()의 내용이 출력될 것이다. [보기] → [DBMS 출력] [+]를 누르고 [접속 선택] 창이 뜨면, 워크시트를 켜..

PLSQL 2024.12.23

[PL/SQL] 익명 블록을 이용한Package의 Procedure 실행 방법

외부에서 접근할 수 있는 패키지 내의 프로시저는, Spec에 선언된 프로시저뿐이다.Body에 선언된 프로시저라 하여도, Spec에 선언된 것이 아니라면 직접 호출할 수 없다. (주로 Spec에 선언된 프로시저의 내부에서 Body의 프로시저를 호출하는 형태인 듯하다.) SQL워크시트에서 패키지 내부에 있는 프로시저를 호출하기 위해 익명 블록(BEGIN,END)을 작성한다.BEGIN 패키지명.프로시저명(값1, 값2);END; 프로시저의 IN 매개변수는 그냥 값을 넣어주면 되는데, OUT 매개변수는 값으로 전달하면 “00식은 피할당자로 사용될 수 없습니다” 라는 오류를 띄운다. 이럴 때엔 DECLARE문에 OUT 매개변수와 동일한 타입의 변수를 선언하고, 빈 변수를 전달하여 실행시키면 된다. 만약, 값2가 들..

PLSQL 2024.12.18

[PL/SQL] 프로시저/트리거/함수 등에서 특정 내용 포함 위치 검색 쿼리

PROCEDURE/TRIGGER/FUNCTION 등에서 원하는 내용을 포함한  위치를 찾는 방법 필자는 아래와 같은 코드로 어떤 타입의 무슨 이름의 몇번째 라인에 특정 내용이 작성되어 있는지 확인한다. SELECT TYPE, NAME, LINE, TEXT FROM USER_SOURCE WHERE UPPER(TEXT) LIKE '%내용%';USER_SOURCE: 오라클에서 제공해주는 VIEW로 프로시저/트리거/함수 등의 소스 정보를 담고 있으며, 대소문자를 구분하여 검색한다.TYPE: 프로시저/함수/트리거 등의 타입NAME: 프로시저/함수/트리거의 이름LINE: 검색할 내용이 포함된 라인 위치TEXT: 검색할 내용이 포함된 텍스트대소문자를 구분하므로, UPPER(TEXT) 로 검색할 텍스트를 대문자로 모두..

PLSQL 2024.12.17