: 프로시저
는 실행시 EXEC
, EXECUTE
명령에 의해서 처리되지만,
함수
는 EXEC
으로 처리가 가능하기도 하지만, 주로 SELECT
문에 의해서 호출(실행) 된다.
CREATE FUNCTION 함수이름
RETURN return_data_type
AS
BEGIN
명령들....
END
EXEC 함수명
## 2. 나이를 구하는 함수 만들기
### 2.1. SELECT
```sql
CREATE FUNCTION ufn_getAge(@year INT)
RETURNS INT -- RETURN값의 형식을 지정
AS
BEGIN
DECLARE @age INT
SET @age = YEAR(GETDATE()) - @year
RETURN(@age)
END
RETURNS
주의할 것
SELECT dbo.ufn_getAge(1994);
SELECT
로 사용자 정의 함수를 호출 할 경우,SCHEMA
이름(dbo.ufn_getAge
)도 포함시켜야 한다.
DECLARE @returnval INT;
EXEC @returnval = dbo.ufn_getAge 1994;
PRINT @returnval;
SELECT empNo, empName, CAST(dbo.ufn_getAge(YEAR(hireDate)) AS CHAR)+'년' AS 근무경력
FROM employee;
ALTER FUNCTION ufn_getAge(@year INT)
RETURNS INT
AS
BEGIN
DECLARE @age INT
SET @age = YEAR(GETDATE()) - @year -1
RETURN(@age)
END
SELECT empNo, empName, CAST(dbo.ufn_getAge(YEAR(hireDate)) AS CHAR)+'년' AS 근무경력
FROM employee;
함수 삭제:
DROP FUNCTION
함수명