1. GO : 수행 단위 구분 명령어
MSSQL에서 GO 명령은 배치단위를 구분하는 명령으로 사용됩니다.
예를 들어, 아래와 같이 GO로 구분되면 한꺼번에 두 개의 문장을 실행하였다고 하더라도, 두 개의 문장은 별도의 배치로 실행됩니다.
SELECT * FROM 테이블
go
SELECT * FROM 테이블
go
하지만 아래와 같이 GO로 구분하지 않으면, 두 개의 문장은 하나의 배치로 한꺼번에 실행됩니다.
SELECT * FROM 테이블
SELECT * FROM 테이블
go
EX)
DECLARE @num int
go
SET @num = 10
하시면 에러가 납니다.
SET @num = 10 은 go 위에서 정의 되었는데.
go를 사용함으로써 일괄처리가 끝나고 다시 새로운 일괄처리가 시작되므로써,
변수가 정의가 되지 않은 것입니다.
출처: https://police84.tistory.com/76 [찐빵의 IT World]
VIEW 생성
CREATE VIEW uv_memberTBL
AS
SELECT memberName, memberAddress FROM memberTBL;
저장 프로시저(메서드)
CREATE PROCEDURE myProc -- 프로시저 생성
AS
SELECT * FROM memberTBL
WHERE memberName = '당탕이' ;
SELECT*FROM productTBL
WHERE productName = '냉장고';
GO
EXECUTE myProc; --프로시저 실행
INSERT INTO
INSERT INTO memberTBL VALUES('Figure','연아','경기도 군포시 당정동');
UPDATE SET
UPDATE memberTBL SET memberAddress = '서울 강남구 역삼동' WHERE memberName = '연아';
DELETE
DELETE memberTBL WHERE memberName = '연아';
CREATE
CREATE TABLE deletedMemberTBL
( memberID char(8) ,
memberName nchar(5) ,
memberAddress nchar(20),
deletedDate date --삭제한 날짜
);
TRIGGER
특정한 작업이 실행될때 자동으로 실행되는 코드
ex) 밑의 코드는 delete 시 삭제되는 데이터를 deletedMemeberTBL 테이블에 자동으로 저장하는 TRIGGER 코드이다.
CREATE TRIGGER trg_deleteMemberTBL
ON memberTBL
AFTER DELETE
AS
INSERT INTO deletedMemberTBL
SELECT memberID,memberName,memberAddress, GETDATE() FROM deleted;
-- 실행
SELECT * FROM memberTBL;
DELETE memberTBL WHERE memberName = '당탕이';
SELECT * FROM memberTBL;
SELECT * FROM deletedMemberTBL;
삭제된 당탕이가 deletedMemberTBL 테이블에 INSERT 되는 것을 알 수 있다.
댓글