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 |