본문 바로가기

나는개발자다!!/DB

오라클 Function 관련 썰

Function은 리턴을 무조건 해줘야하고 


IN 변수만 받을 수 있다.


그리고 select 절에서 사용이 가능하다.


procedure는 그냥 실행을 시키는 거임~



CREATE OR REPLACE FUNCTION 함수이름

(변수명  IN  변수타입)

RETURN 반환타입

IS

    받을 값 변수명 테이블.칼럼명%type;    

BEGIN

    SELECT 칼럼

    INTO 받을 값 변수명

    FROM

        테이블


RETURN  받을 값 변수명;

END;

/



=====================이것은 예제=======================


CREATE OR REPLACE FUNCTION FC_sel_menuNo

(v_day  IN  varchar2)

RETURN NUMBER

IS

    v_menu_no MENUEXPLAN.MENU_NO%type;    

BEGIN

    SELECT MENU_NO

    INTO v_menu_no

    FROM

        ( 

        SELECT MENU_NO 

        FROM MENUEXPLAN

        ORDER BY dbms_random.value

        )

    WHERE ROWNUM=1;

RETURN  v_menu_no;

END;

/