본문 바로가기
개발/MsSql

[MsSql] PROCEDURE 프로시저

by 코딩하는 흰둥이 2023. 4. 15.
반응형

프로시저 생성
  • INSERT
CREATE PROCEDURE P_TEST_ADD
(
	@P_NAME	VARCHAR(20),
	@P_AGE	INT
)
AS
BEGIN
SET NOCOUNT ON			 -- on 으로 설정시 이 개수가 반환되지 않음 , 반환되지 않을때 속도가 빠르다
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED -- 트랜잭션이 완료 되지 않는 데이터도 조회 가능 - 데이터의 정확도는 낮지만 빠른 속도 조회;

INSERT INTO TEST(NAME , AGE) VALUES(@P_NAME, @P_AGE)

SET NOCOUNT ON
RETURN
END;

TEST라는 TABLE에 NAME과 AGE 값을 INSERT 하는 프로시저를 생성

 

 

  • SELECT
CREATE PROCEDURE P_TEST_SELECT
(
	@P_NAME	VARCHAR(20)
)
AS
BEGIN
SET NOCOUNT ON -- on 으로 설정시 이 개수가 반환되지 않음 , 반환되지 않을때 속도가 빠르다
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED -- 트랜잭션이 완료 되지 않는 데이터도 조회 가능 - 데이터의 정확도는 낮지만 빠른 속도 조회;

SELECT NAME , AGE FROM TEST WHERE NAME = @P_NAME

SET NOCOUNT ON
RETURN
END;

 

  • UPDATE
CREATE PROCEDURE P_TEST_UPDATE
(
	@P_NAME	VARCHAR(20),
	@P_AGE INT
)
AS
BEGIN
SET NOCOUNT ON -- on 으로 설정시 이 개수가 반환되지 않음 , 반환되지 않을때 속도가 빠르다
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED -- 트랜잭션이 완료 되지 않는 데이터도 조회 가능 - 데이터의 정확도는 낮지만 빠른 속도 조회;

UPDATE TEST SET AGE = @P_AGE WHERE NAME = @P_NAME

SET NOCOUNT ON
RETURN
END;

 

  • DELETE
CREATE PROCEDURE P_TEST_DELETE
(
	@P_NAME	VARCHAR(20)
)
AS
BEGIN
SET NOCOUNT ON -- on 으로 설정시 이 개수가 반환되지 않음 , 반환되지 않을때 속도가 빠르다
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED -- 트랜잭션이 완료 되지 않는 데이터도 조회 가능 - 데이터의 정확도는 낮지만 빠른 속도 조회;

DELETE FROM TEST WHERE NAME = @P_NAME

SET NOCOUNT ON
RETURN
END;

 


 

프로시저 실행
-- INSERT
exec P_TEST_ADD 'tttt' , 11;

-- SELECT
exec P_TEST_SELECT 'tttt';

-- UPDATE
exec P_TEST_UPDATE 'tttt' , 99;
 
 -- DELETE
exec P_TEST_DELETE 'tttt';

 


 

프로시저 찾기
SELECT ROUTINE_NAME, ROUTINE_DEFINITION
FROM INFORMATION_SCHEMA.ROUTINES
WHERE ROUTINE_TYPE IN ('PROCEDURE','FUNCTION')
AND ROUTINE_DEFINITION LIKE '%P_%'




SELECT ROUTINE_NAME, ROUTINE_DEFINITION
FROM INFORMATION_SCHEMA.ROUTINES
WHERE ROUTINE_TYPE IN ('PROCEDURE','FUNCTION')
AND ROUTINE_NAME LIKE '%P_%'

 


 

프로시저 내용 보기
-- sp_helptext '프로시저 명';
sp_helptext 'P_TEST_DELETE';

'개발 > MsSql' 카테고리의 다른 글

[MsSql] Commit , Rollback 하기  (0) 2023.04.14
[MsSql] 데이터 타입  (0) 2023.04.14
[MsSql] Spring Boot 연동(application,pom) - MsSql 계정 생성  (0) 2023.04.13
[MsSql] 설치하기  (0) 2023.04.13

댓글