Following are the main differences between functions and procedures:

 

Functions Procedures. 
A function has a return type and returns a value. A procedure does not have a return type. But it returns values using the OUT parameters.
You cannot use a function with Data Manipulation queries. Only Select queries are allowed in functions. You can use DML queries such as insert, update, select etc… with procedures.
A function does not allow output parameters A procedure allows both input and output parameters.
You cannot manage transactions inside a function. You can manage transactions inside a function.
You cannot call stored procedures from a function You can call a function from a stored procedure.
You can call a function using a select statement. You cannot call a procedure using select statements

 

프로시저는 서버에서 실행 되고, 함수는 클라이언트에서 실해 되기 때문에, 프로시저의 속도가 더 빠르다. 

프로시저 사용자 정의 함수
업무를 맡기는 목적 로직을 도와주는 목적
SP 안에 트랜잭션을 사용할 수 있음 사용자 정의 함수 안에 트랜잭션을 사용할 수 없음
파라미터 형식이 입,출력임 입력 파라미터만 가능
프로시저 안에서 다른 프로시저를 호출할 수 있음 사용자 정의 함수 안에서 프로시저를 호출할 수는 없음
SELECT, WHERE, HAVING 절에 프로시저를 사용할 수 없음 SELECT, WHERE, HAVING 절에 사용자 정의 함수를 사용할 수 있음

'ForBeginner' 카테고리의 다른 글

7-4-1. Collabee를 이용한 OKR  (0) 2021.05.05
5-1. SCADA vs DCS vs HMI  (0) 2021.05.04
8-99. MSSQL (Where 1=1 은 뭐지?)  (0) 2021.05.04
8-3. MSSQL파일들(MDF, LDF, NDF 파일)  (0) 2021.05.04
8-1. DB 설계. (ERD, 스키마 설계)  (0) 2021.05.03

+ Recent posts