티스토리 뷰

홈페이지/데이터베이스

프로스저 기초

사과같은 내 얼굴 2021. 11. 20. 17:24

프로시저 기초

    • ○ 자신을 호출한 곳으로 리턴해주는 값은 없고 호출되어 실행된다.
    • ○실행환경과 Stored Program 사이에 값을 전달하기 위해 파라미터를 사용한다.
    • ○파라미터 종류
      • ▷ in : 호출하는 곳에서 함수를 통해 프로스저로 값을 전달한다.
      • ▷ out : 호출하는 곳에서 함수를 통해 프로시저에 호출한 곳으로 값을 전달한다.
      • ▷ in out : 호출하는 곳에서 함수를 전달 할 수 있다.
        프로시저로 값을 전달하고 동시에 함수를 전달할 수 있다
        프로시저에서 호출한 곳으로 값을 전달하는 변수가 있다.

 

in 프로시저

호출하는 곳에서 함수를 콜하면 프로시저로 값을 전달한다.
실행문 : exec ojc3(200,8000001) -> 콤마를 쓰지 않고 콜하면 된다.


create or replace procedure ojc3
  (id in NUMBER, sal in NUMBER) -- 외부에서 넣어준 파라미터 어떤 타입인지 형도 지정해야함.
is
begin
    update employee set SALARY = sal where EMP_ID = id;
    commit;
end ojc3;


out 프러시저

 

함수 or 프로시저에서 호출한 곳으로 값을 전달한다.
SAL OUT NUMERR값은 외부에서 빈깡통인 변수를 만들어서 SAL에다가 넣어주면 된다.

-- 1번 : 프로시저 선언
create or replace procedure ojc4(id in NUMBER, sal out NUMBER)
    is
    BEGIN
        SELECT SALARY INTO SAL FROM ID
        WHERE EMP_ID = ID;
    END OJC4;

-- 2번 : sal이라는 변수를 먼저 선언 해주고 프로시저를 콜한다. 선언된 변수는 :sal 이런 형식으로 넣어준다.

VARIABLE sal NUMBER
EXEC ojc4(200, :sal)

-- 3번 : 값 확인
print sal


출처 : 해당 글은 유튜브를 보고 정리한 내용입니다^^

https://www.youtube.com/watch?v=-2CzUYAmRvk&t=183s 

 

댓글