함수(1)

Hyuntae Jung·2022년 7월 29일
0

MS SQL

목록 보기
38/41
post-thumbnail

1. 사용자 정의 함수

: 프로시저는 실행시 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)도 포함시켜야 한다.

2.2. EXEC

DECLARE @returnval INT;
EXEC @returnval = dbo.ufn_getAge 1994;
PRINT @returnval;

2.3. 활용

SELECT empNo, empName, CAST(dbo.ufn_getAge(YEAR(hireDate)) AS CHAR)+'년' AS 근무경력
  FROM employee; 

3. 함수의 수정

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 함수명

0개의 댓글