[MSSQL] 저장 프로시저 CRUD

김영광·2023년 4월 11일
0

프로시저 생성

기본문법

CREATE PROCEDURE 스키마 명.프로시저 명으로 시작하고, AS BEGIN 과 END 사이에 원하는 쿼리를 입력한다.

CREATE PROCEDURE schema_name.Procedure_name
AS
  BEGIN
      SELECT 1
  END 

프로시저를 호출할 때 프로시저명과 CREATE와 AS 사이로 매개변수를 지정할 수 있다.

CREATE PROCEDURE schema_name.Procedure_name 
	@site NVARCHAR(500),
	@name NVARCHAR(100),
AS
  BEGIN
      SELECT @site
  END 

프로시저 수정

기본문법

프로시저를 수정하기 위해서는 생성문에서 CREATE 를 ALTER 로 변경해 주면된다.

ALTER PROCEDURE schema_name.Procedure_name 
	@site NVARCHAR(500),
    @name NVARCHAR(100)
AS
  BEGIN
      SELECT 1
  END

프로시저 조회

sp_helptext

sp_helptext 는 객체생성 구문을 텍스트/표 형식으로 결과에 표기한다.

sp_helptext schema_name.Procedure_name

실제 데이터베이스에서 프로시저를 검색했을때, 빨간 밑줄이 쳐져서 에러라고 생각할수도 있지만 실제로 실행을 하게되면 위의 그림처럼 text라는 한 컬럼에 한줄당 하나의 row데이터로 나열된다.

해당 row데이터 즉, Text칼럼의 값을 그대로 복사하여 쿼리를 실행하면 리턴값을 확인할 수 있다.

프로시저 삭제

DROP

프로시저를 삭제하기 위해서는 DROP 구문을 사용한다.

DROP PROCEDURE Schema_Name.Procedure_Name

프로시저 실행방법

매개변수가 없을 때

exec 구문을 사용하여 프로시저를 호출한다.

exec Schema_Name.Procedure_Name

매개변수가 있을 때

변수를 선언 및 값을 할당한 후 SP 호출에서 사용할 수 있다.

DECLARE @site NVARCHAR(500)
DECLARE @name NVARCHAR(100)
 
SET @site = 'velog.io'
SET @name = '@glory_95'

exec Schema_Name.Procedure_Name @site, @name
profile
힘들더라도 꾸준히!

0개의 댓글