다음을 통해 공유


저장 프로시저 유형

Microsoft SQL Server에서는 여러 가지 유형의 저장 프로시저를 사용할 수 있습니다. 이 항목에서는 각 저장 프로시저 유형을 예제와 함께 간략하게 설명합니다.

사용자 정의 저장 프로시저

저장 프로시저는 코드를 다시 사용할 수 있도록 캡슐화하는 모듈 또는 루틴입니다. 저장 프로시저는 입력 매개 변수를 받고 테이블 또는 스칼라 형식의 결과 값과 메시지를 클라이언트에 반환하고 DDL(데이터 정의 언어) 및 DML(데이터 조작 언어) 문을 호출하고 출력 매개 변수를 반환할 수 있습니다. SQL Server 2008에서 사용되는 저장 프로세스는 Transact-SQL 또는 CLR의 두 가지 유형이 있습니다.

Transact-SQL

Transact-SQL 저장 프로시저는 사용자가 입력한 매개 변수를 받아 들여 결과를 반환하는 저장된 Transact-SQL 문의 모음입니다. 예를 들어 저장 프로시저는 클라이언트 응용 프로그램에서 입력된 정보를 기준으로 하나 이상의 테이블에 새 행을 삽입하는 데 필요한 여러 개의 문을 포함할 수 있습니다. 저장 프로시저는 데이터베이스에서 클라이언트 응용 프로그램으로 데이터를 반환할 수도 있습니다. 예를 들어 전자 상거래 웹 응용 프로그램에서 저장 프로시저를 사용하여 온라인 사용자가 지정한 검색 조건을 기준으로 특정 제품에 대한 정보를 반환할 수 있습니다.

CLR

CLR 저장 프로시저는 사용자로부터 매개 변수를 입력 받아 결과를 반환하는 Microsoft .NET Framework CLR(공용 언어 런타임) 메서드의 참조로 사용됩니다. CLR 저장 프로시저는 .NET Framework 어셈블리의 클래스에 공용의 정적 메서드로 구현됩니다. 자세한 내용은 CLR Stored Procedures를 참조하십시오.

확장 저장 프로시저

중요 정보중요

Microsoft SQL Server의 이후 버전에서는 이 기능이 제거됩니다. 새 개발 작업에서는 이 기능을 사용하지 않도록 하고, 현재 이 기능을 사용하는 응용 프로그램은 수정하십시오. 대신 CLR 통합을 사용하십시오.

확장 저장 프로시저를 사용하면 C와 같은 프로그래밍 언어로 직접 외부 루틴을 작성할 수 있습니다. 확장 저장 프로시저는 Microsoft SQL Server 인스턴스에서 동적으로 로드 및 실행할 수 있는 DDL입니다. 확장 저장 프로시저는 SQL Server 인스턴스의 주소 공간에서 직접 실행되며 SQL Server 확장 저장 프로시저 API를 사용하여 프로그래밍합니다.

[!참고]

CLR Integration을 사용하면 확장 저장 프로시저를 보다 강력하고 안전한 방법으로 작성할 수 있습니다.

시스템 저장 프로시저

SQL Server에서는 많은 관리 작업이 시스템 저장 프로시저라는 특수한 프로시저를 통해 수행됩니다. 예를 들어 sys.sp_changedbowner는 시스템 저장 프로시저입니다. 시스템 저장 프로시저는 리소스 데이터베이스에 **sp_**라는 접두사를 사용하여 물리적으로 저장됩니다. 시스템 저장 프로시저는 모든 시스템 정의 데이터베이스와 사용자 정의 데이터베이스의 sys 스키마에 논리적으로 나타납니다. SQL Server 2008에서 시스템 저장 프로시저에는 GRANT, DENY 및 REVOKE 권한을 적용할 수 있습니다. 시스템 저장 프로시저의 전체 목록은 시스템 저장 프로시저(Transact-SQL)를 참조하십시오.

SQL Server에서는 다양한 유지 관리 작업을 수행할 수 있도록 SQL Server의 인터페이스를 외부 프로그램에 제공하는 시스템 저장 프로시저가 지원됩니다. 이러한 확장 저장 프로시저에는 xp_ 접두사가 사용됩니다. 확장 저장 프로시저의 전체 목록은 일반 확장 저장 프로시저(Transact-SQL)를 참조하십시오.