본문 바로가기

DataBase

MSSQL - 저장프로시저 /트리거 생성

반응형
--저장프로시저
--매번 회원 테이블 당탕이의 정보와 제품 테이블의 냉장고 정보를 동시에 조회한독 가정하자.
SELECT * FROM memberTbl WHERE memberName ='당탕이'
SELECT * FROM productTbl WHERE productName ='냉장고'
--저장프로시저
CREATE PROCEDURE myProc
AS
	SELECT * FROM memberTbl WHERE memberName='당탕이'
	SELECT * FROM productTbl WHERE productName ='냉장고'
GO
--저장프로시저 실행
EXECUTE myProc
--저장프로시저 삭제
DROP PROCEDURE myProc

--트리거 : 트리거는 테이블에 부착되어 테이블에 INSERT나 UPDATE 또는 DELETE 작업이 발생되면 실행되는 코드를 말한다. 

--DML 트리거의 용도를 실습

SELECT * FROM memberTbl
INSERT INTO memberTbl VALUES('Figure','연아','경기도 군포시 당정동')
UPDATE memberTbl SET memberAddress ='서울 강남구 역삼동' WHERE memberName='연아'


CREATE TABLE deletememberTbl(memberID char(8), memberName nchar(5),memberAddress nchar(20),deleteDate date)
--memeberTbl에서 DELETE 작업이 일어나면 백업테이블 deletedMemberTbl에 지워진 데이터가 기록되는 트리거를 생성하자 

SELECT * FROM deletememberTbl
--트리거 생성

CREATE TRIGGER trg_deletedMemberTbl --트리거이름
ON memberTbl --트리거를 부착할 테이블 
AFTER DELETE --삭제 후에 작동하게 지정
AS
INSERT INTO deletememberTbl 
SELECT memberID,memberName,memberAddress,GETDATE() FROM deleted

--지워보자
SELECT * FROM memberTbl
DELETE memberTbl WHERE memberName='당탕이'

SELECT * FROM deletememberTbl
반응형