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

SQL Server의 PROCEDURE(절차)

절차 나중에 사용하기 위해 저장하는 여러 명령문의 데이터베이스에 있는 프로그램입니다. SQL Server에서는 특정 값을 함수로 반환하지 않지만 실행 성공 또는 실패를 나타내지만 매개변수를 프로시저에 전달할 수 있습니다.

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

절차 작성

구문

SQL Server에서 프로시저를 생성하기 위해 다음 구문을 사용합니다.

  CREATE {PROCEDURE | PROC } [schema_name.]procedure_name PROC} [schema_name.] Procedure_name 
[@parameter [type_schema_name.] datatype
[VARYING] [= default] [OUT | OUTPUT | READONLY]
, @parameter [type_schema_name.] datatype
[VARYING] [= default] [OUT | OUTPUT | READONLY]]

[WITH {ENCRYPTION | RECOMPILE | RECOMPILE | EXECUTE AS Clause } ] EXECUTE AS Clause}]
[FOR REPLICATION]

AS

BEGIN
[declaration_section]

executable_section

END;

매개변수:

  1. schema_name:스키마 이름(스키마)이 프로시저를 소유합니다.
  2. 절차명: 절차에 할당된 이름
  3. @매개변수: 하나 이상의 매개변수가 함수에 전달됩니다.
  4. 유형_스키마_이름: 스키마의 데이터 유형(있는 경우).
  5. 데이터 유형: @parameter의 데이터 유형입니다.
  6. 기본값: @parameter에 할당된 기본값입니다.
  7. 밖으로 / 출력: @parameter는 출력 매개변수입니다.  
  8. 읽기 전용: @parameter는 프로시저에 의해 재정의될 수 없습니다.
  9. 암호화: 프로시저의 소스 코드는 시스템에 텍스트로 저장되지 않습니다.
  10. 재컴파일: 이 절차에서는 쿼리가 캐시(캐시)되지 않습니다.
  11. EXECUTE AS 절: 프로시저를 실행할 보안 컨텍스트를 지정합니다.
  12. 복제용: 저장된 프로시저는 복제 프로세스 중에만 실행됩니다.

예:

  CREATE PROCEDURE spNhanvien 
@nhanvien_name VARCHAR (50) OUT

AS

BEGIN

DECLARE @nhanvien_id INT;

SET @nhanvien_id = 8;

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

END;

위 절차의 이름은 spNhanvien,입니다. @nhanvien_name의 매개변수가 있습니다. 매개변수의 출력은 @nhanvien_id.를 기반으로 합니다.

그 후에 spNhanvien을 수행할 수 있습니다. 다음과 같이 참조:

  USE [test] 
GO

DECLARE @site_name varchar (50);

EXEC FindSite @site_name OUT;

PRINT @site_name;

GO

철회 절차

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

구문

프로시저를 제거하기 위해 다음 구문이 있습니다.

DROP PROCEDURE procedure_name ;

매개변수:

procedure_name: 삭제하려는 프로시저의 이름 .

예:

  DROP PROCEDURE spNhanvien; 

이 명령을 실행하여 spNhan을 삭제했습니다. 데이터베이스에서 절차.