본문 바로가기

데이터베이스

함수와 저장프로시져의 차이

SQL Server에서 함수(function)와 프로시져(Stored Procdure) 이 둘의 차이는 다음과 같다.

 

1. 함수는 반드시 하나의 반환 값을 가져야 한다. 하지만 프로시져는 반환 값이 있을 수도 없을 수도 있다. 또한 프로시져는 여러 개의 값을 반환할 수 있다.  

 

2. 함수는 단지 입력 매개변수만을 가지지만 프로시져는 입력과 출력 매개변수를 가진다. 

 

3. 함수는 프로시져로부터 호출될 수 있지만, 프로시져는 함수로부터 호출될 수 없다. 

 

4. 프로시져 내에서는 조회(select), 삽입(insert), 갱신(update), 삭제(delete)가 가능하지만 함수 내에서는 조회만이 허용된다. 

 

5. 프로시져는 조회(select) 구문의 일부로 사용될 수 없지만 함수는 조회(select) 구문의 일부로 사용될 수 있다.

 

6. 프로시져는 SQL문에서 Where, Having, Select 부분 안에서 사용되지 못하지만 함수는 사용 가능하다.

 

7. 테이블을 반환하는 함수는 또 다른 데이터 집합으로 다루어지면 다른 테이블과 조인(join)이 가능하다.

 

8. 예외 처리 구문이 프로시져 내에서는 사용 가능하지만 함수 내에서는 사용할 수 없다.

 

9. 트랜젝선을 프로시져 내에서는 사용 가능하지만 함수 내에서는 사용할 수 없다.

 

 

'데이터베이스' 카테고리의 다른 글

Clustered Index  (0) 2020.05.29
Convert 함수를 이용한 날짜 및 시간 스타일 변환  (0) 2020.05.28
Sql Server RAISERROR 2부  (0) 2020.05.26
SQL Server RAISERROR 1부  (0) 2020.05.25
SQL 세션이란  (0) 2020.05.23