728x90
https://www.tutorialspoint.com/plsql/plsql_procedures.htm
CREATE OR REPLACE PROCEDURE greetings(
inputed in number,
z OUT number
)
IS
BEGIN
select 1 into z from dual;
dbms_output.put_line(' ' || ' : ' || z);
z := inputed;
dbms_output.put_line(' ' || ' : ' || z);
END;
greetings라는 프로시저는
입력받는 인자값으로 inputed와
반환할 값으로 z을 사용한다.
프로시저 이후 동작할 부분을 begin과 end사이에 삽입하고
프로시저 선언 이후 바디와 연결하는 부분은 IS와 AS를 이용하여 연결한다.
declare
a number;
begin
greetings(43,a);
dbms_output.put_line(a);
end;
위의 쿼리에서는 프로시저에서 반환하는 값을 저장할 a라는 변수를 선언해주고,
출력하는데,
저장할 변수를 선언해주기 위해서 declare를 이용하여 a 변수를 선언해주지 않으면 사용할 수 없다.
EXECUTE greetings;
위에서 이미 정의된 greetings는 위의 쿼리로는 실행 할 수 없지만.
인자값이 없이 단순 호출할 경우 위의 쿼리로 실행 할 수 있음.
출력할 문자열은 다음과 같은 명령어로 콘솔에 출력 할 수 있는데
DBMS_OUTPUT.PUT_LINE('출력할 문자열');
프로시저의 실행 결과를 콘솔에 출력하기 위해서는 F5를 이용하여 쿼리를 실행해야한다.
728x90
'SQL > Oracle' 카테고리의 다른 글
[Oracle] ORA-28000 계정잠김 (0) | 2022.12.26 |
---|---|
[Database/Oracle]오라클 테이블 스페이스 추가하기 (0) | 2022.03.04 |
통계 데이터 생성 오류 잦은 이유 (0) | 2021.12.29 |
[Oracle] 오라클 시간더하기, 테스트용 데이터 만들기 (1) | 2021.11.12 |
만능인줄 알았던 오라클(잘되던 insert select 안될때) (0) | 2021.08.03 |
댓글