프로시저란?
DBMS 에서 제공하는 프로그램 SQL 를 의미합니다.
DB 기능이지만 프로그램이기 때문에 간단한 문법인 IF, WHILE 등 프로그래밍 문법을 사용할 수 있고,
프로시저를 호출할 때 매개변수를 받거나 전달해 줄 수 있습니다.
DB 객체로 생성할 수 있고
여러 프로그래밍 문법과 SQL 을 하나의 객체내로 묶어서 사용할 수 있습니다.
따라서 개발에서 코드의 복잡도를 줄여줄 수 있습니다.
프로시저 생성하는 방법
기본 문법
제일 기본이 되는 문법입니다.
CREATE PROCEDURE 프로시저 명으로 시작하고, AS BEGIN 과 END 사이에 원하는 쿼리를 입력하는 방식입니다.
1
2
3
4
5
6
|
CREATE PROCEDURE Schema_Name.Procedure_Name
AS
BEGIN
SELECT 1
END
GO
|
cs |
매개변수를 받는 문법
프로시저를 호출할 때 프로시저명과 AS 사이 ( ) 로 매개변수를 지정할 수 있습니다.
매개변수를 리턴받기 위해서는 타입옆에 OUTPUT 을 작성해 주면 됩니다.
이 매개변수는 프로시저 내의 쿼리에서 사용할 수 있습니다.
1
2
3
4
5
6
7
8
9
10
11 |
CREATE PROCEDURE Schema_Name.Procedure_Name
(
@site NVARCHAR(500)
,@name NVARCHAR(100)
,@ret INT OUTPUT )
AS
BEGIN
SELECT @site
END
GO
|
cs |
프로시저를 수정하는 방법
로직이 변경되거나 잘못된 문법으로 인해, 프로시저를 수정해야 하는 경우가 있습니다.
프로시저를 수정하기 위해서는 CREATE 를 ALTER 로 변경해 주면 됩니다.
1
2
3
4
5
6
7
8
9
10
|
ALTER PROCEDURE Schema_Name.Procedure_Name
(
@site NVARCHAR(500)
,@name NVARCHAR(100)
)
AS
BEGIN
SELECT 1
END
GO
|
cs |
프로시저를 조회하는 방법
sp_helptext 를 사용하는 방법
sp_helptext 는 객체생성 구문을 텍스트/표 형식으로 결과에 표기합니다.
1
|
sp_helptext 'dbo.Procedure_Test'
|
cs |
텍스트 형식으로 표기하기 위해서는 'Ctrl + T', 표 형식으로 표기하기 위해서는 'Ctrl + D' 단축키를 눌러주세요.
SSMS 에서 GUI 클릭으로 조회하는 방법
프로시저를 삭제하는 방법
프로시저를 삭제하기 위해서는 DROP 구문을 사용합니다.
삭제는 신중하시길 바랍니다.
1
|
DROP PROCEDURE Schema_Name.Procedure_Name
|
cs |
프로시저를 호출하는 방법
매개변수가 없을 때
exec 구문을 사용하여 프로시저를 호출할 수 있습니다.
1
|
exec Schema_Name.Procedure_Name
|
cs |
매개변수가 있을 때
변수를 선언 및 값을 할당한 후 SP 호출에서 사용할 수 있습니다.
OUTPUT 변수는 호출 시 값을 리턴받아서 사용할 수 있습니다.
1
2
3
4
5
6
7
8
9
10
|
DECLARE @site NVARCHAR(500)
DECLARE @name NVARCHAR(100)
DECLARE @ret INT
SET @site = 'tistory.com'
SET @name = 'mozi'
exec Schema_Name.Procedure_Name @site, @name, @ret
SELECT @ret
|
cs |
SQL Server 프로시저 생성
SQL Server 프로시저 조회
SQL Server 프로시저 수정
SQL Server 프로시저 삭제
SQL Server 프로시저 호출
'SQL Server > SQL Server 기본기' 카테고리의 다른 글
[MSSQL] 데이터베이스 생성, 수정, 삭제 방법 (0) | 2021.06.12 |
---|---|
[MSSQL] 인덱스 생성, 수정, 삭제하는 방법 (0) | 2021.06.12 |
[MSSQL] 테이블 생성, 수정, 조회, 삭제하는 방법 (0) | 2020.11.11 |