Computer >> 컴퓨터 >  >> 프로그램 작성 >> SQL Server

SQL Server의 FUNCTION(함수)

함수(함수) 함께 그룹화되고 재사용을 위해 생성된 여러 문 집합으로 구성된 데이터베이스의 개체입니다. SQL Server에서는 함수가 저장되고 매개변수와 반환값을 전달할 수 있습니다.

이 기사에서는 SQL Server에서 함수를 만들고 삭제하는 방법에 대한 구문과 예제를 제공합니다.

기능 생성(기능 생성)

구문

SQL Server에서 함수를 생성하기 위해 다음 구문을 사용합니다.

  CREATE FUNCTION [schema_name.] Function_name 
([@parameter [AS] [type_schema_name.] datatype
[= default] [READONLY]
, @parameter [AS] [type_schema_name.] datatype
[= default] [READONLY]]
)

RETURNS return_datatype

[WITH {ENCRYPTION
| SCHEMABINDING
| RETURNS NULL ON NULL INPUT
| CALLED ON NULL INPUT
| EXECUTE AS Clause]

[AS]

BEGIN

[declaration_section]

executable_section

RETURN return_value

END;

매개변수:

  1. 스키마 이름: 기능이 있는 스키마 이름(스키마).
  2. 기능_이름: 기능에 할당된 이름입니다.
  3. @매개변수: 하나 이상의 매개변수가 함수에 전달됩니다.
  4. 유형_스키마_이름: 스키마의 데이터 유형(있는 경우).
  5. 데이터 유형: @parameter의 데이터 유형입니다.
  6. 기본값: @parameter에 할당된 기본값입니다.
  7. 읽기 전용: @parameter는 함수로 덮어쓸 수 없습니다.
  8. 반환 데이터 유형: 반환 값의 데이터 유형입니다.
  9. 암호화: 함수의 소스 코드는 시스템에 텍스트로 저장되지 않습니다.
  10. 스키마 바인딩: 편집되지 않은 개체가 기능에 영향을 미치는지 확인하십시오.
  11. NULL 입력 시 NULL 반환 :매개변수가 NULL이면 함수는 NULL을 반환합니다.
  12. NULL 입력 시 호출 :매개변수가 NULL인 경우에도 함수가 실행됩니다.
  13. 다음으로 실행 절:함수를 실행할 보안 컨텍스트를 지정합니다.
  14. 반환 가치: 값이 반환되었습니다.

예:

  CREATE FUNCTION fuNhanvien 
(@nhanvien_id INT)

RETURNS VARCHAR (50)

AS

BEGIN

DECLARE @nhanvien_name VARCHAR (50);

IF @nhanvien_id <10
SET @nhanvien_name = 'Smith';
ELSE
SET @nhanvien_name = 'Lawrence';

RETURN @nhanvien_name;

END;

위 함수의 이름은 fuNhanvien,입니다. @nhanvien_id가 있습니다. INT 데이터 유형이 있는 매개변수. 함수는 RETURNS 문을 실행할 때 VARCHAR(50) 값을 반환합니다.

그런 다음 참조를 fuNhanvien으로 만들 수 있습니다. 다음과 같이:

  USE [test] 
GO

SELECT dbo.fuNhanvien (8);

GO

드롭 기능(기능 삭제)

함수를 성공적으로 생성하면 몇 가지 이유로 데이터베이스에서 함수를 제거하려는 경우가 있습니다.

구문

함수를 제거하기 위한 구문은 다음과 같습니다.

DROP FUNCTION function_name ;

매개변수:

함수 이름: 삭제하려는 함수 이름 .

예:

  DROP FUNCTION fuNhanvien; 

이 명령을 실행하여 fu 데이터베이스의 기능입니다.