PROCEDURE와 FUNCTION의 차이점



- 프로시저는 매개변수로 데이터를 전달받을 수도 있고, 빋지 않을 수도 있다.

  실행 후 프로시저는 호출한 프로그램에게 값을 반환할 수도 있고, 안 할 수도 있다.


- 함수도 매개변수로 데이터를 전달받을 수도 있고, 빋지 않을 수도 있다.

  그러나 함수는 프로시저와 다르게 실행 후 반드시 하나의 값을 반환(RETURN)한다.


- 생성방법과 호출방법이 다르다.



 

1. Stored PROCEDURE(프로시저)


 

- 생성방법



CREATE [OR REPLACE] PROCEDURE 프로시저명(매개변수1, ...) IS [지역변수선언; ]


BEGIN

   처리명령문;

   ......;


[EXCEPTION]

  [ 처리명령문;]

  [......;]


END [프로시저명];



- 호출방법 : SQL*PLUS 커맨드창에서 SQL>EXECUTE 프로시저명(매개변수1,...)




2. Function(함수)



- 생성방법



CREATE [OR REPLACE] Function 함수명(매개변수1, ...)

RETURN 데이터타입

IS [지역변수선언; ]


BEGIN

   처리명령문;

   ......;

   RETURN 변수명;


[EXCEPTION]

  [ 처리명령문;]

  [......;]


END [함수명];



- 호출방법 : SQL내장함수와 동일. SELECT문 내에서 사용하면 된다.

                 예를 들어, 함수명이 CONVERT라면,

                 SELECT CONVERT(매개변수1,...) FROM TABLE명

Posted by 나비 나비:D

BLOG main image
by 나비:D

공지사항

카테고리

분류 전체보기 (278)
Programming? (0)
----------------------------- (0)
나비의삽질 (5)
Application (177)
SQL (51)
Web (27)
etc. (14)
Omnia (0)
---------------------------.. (0)

글 보관함

달력

«   2018/01   »
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      
Total : 903,520
Today : 217 Yesterday : 175