MSSQL 스칼라반환함수 테이블반환함수 본문

프로그래밍/MSSQL - 예제

MSSQL 스칼라반환함수 테이블반환함수

함수에 대한 기본적인 문법 틀을 작성하고, 개념까지 정리를 해본다. 


기본적으로 스칼라반환함수는 Return 값이 단일값이고, 테이블반환함수는 테이블 형태의 값이 Return 된다고 볼 수 있다. 테이블 형태로 Return 이 된다는 것은 Row 단위의 List 형태가 Return 된다고 생각하면 될 것이다. 


함수는 기본적으로 재사용을 높이기 위해 만들어졌다. 2개 이상의 프로그램에서 사용이 된다면 함수 1개의 수정으로 다수의 프로그램의 반환값이 바뀌기 때문이다. 


MSSQL 에서는 SP(Stored Procedure)에서 SELECT 하면 Return 값이 없음에도 조회가 된다. 또한, Global Temp 를 이용하면 Temp Table 에서 데이터를 계속 사용할 수 있어 테이블 반환 함수는 사용할 일이 거의 없다고 보면 된다. 


SQL   |   스칼라 반환 함수

CREATE FUNCTION FN_NM(@nINT INT)
RETURNS INT

AS
BEGIN
  DECLARE @AGE INT
  SET @AGE YEAR(GETDATE())

  RETURN(@AGE)
END;

SQL   |   테이블 반환 함수

CREATE FUNCTION FN_NM(@nINT INT)
RETURNS @retTABLE TABLE
( USER_ID NVARCHAR(8)
, NAME    NVARCHAR(8)
, GRADE   NVARCHAR(5) 

)
AS
BEGIN
  DECLARE @AGE INT
  SET @AGE YEAR(GETDATE())

  INSERT INTO @retTABLE VALUES('', '', '');

  RETURN(@AGE);
END;


프로그래밍/MSSQL - 예제 Related Articles

MORE