SQL programming 
사용자 정의 함수 (User Defined Function)

SQL 함수의 사용에서 시스템에 내장된 함수를 사용하였는데, 함수는 사용자 임의로 만들어 사용할 수도 있다. 사용자 정의 함수는 결과를 리턴할 때 하나의 값(Scalar Value)만을 리턴할 수도 있고, Table을 리턴할 수도 있다.





User Defined Function 생성

User Defined Function를 만들기 위해서는 CREATE FUNCTION (줄여서 CREATE FUNC)을 사용한다. 기본적으로 CREATE FUNC 뒤에 함수명을 써주고, AS 뒤에 함수 본문을 적어준다. 함수명과 AS 사이에는 RETURNS절을 사용하여 어떤 타입을 리턴할 것인지를 표시하며, 함수 본문내에서 RETURN문을 사용하여 동일한 타입의 변수를 리턴한다. 아래 예제는 간단한 사용자 정의 함수로서 Id에 따른 Name 문자열을 리턴하고 있다.

예제





User Defined Function 사용

User Defined Function의 사용은 SQL 함수의 사용에서 설명한 내장 함수와 마찬가지로 다른 문장의 일부로서 사용된다. 예를 들어 아래는 SELECT문을 사용하여 함수를 호출한 예이다.

예제





Table Valued Function 예제

User Defined Function은 단일 값이 아닌 TABLE형태의 Resultset을 리턴할 수도 있다. 이렇게 테이블 형태로 리턴하는 함수를 Table Valued Function이라 하는데, 리턴되는 테이블을 함수 본문의 SELECT의 결과를 그대로 사용할 수도 있고, RETURNS절에서 리턴될 임시 테이블의 컬럼들을 정의할 수 있다. 아래는 SELECT의 결과를 그대로 리턴하는 Inline Table Valued Function의 간단한 예이다. Table Valued Function 함수는 실행시 테이블을 사용하는 곳 예를 들어 SELECT의 FROM절 등에 사용된다.

예제





본 웹사이트는 광고를 포함하고 있습니다. 광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.