반응형
--/////////////////// 트랜젝션 연습 ///////////////////////
CREATE TABLE #tranTest -- # 이나 ## 이면 임시 테이블을 말함
(
id INT NOT NULL,
msg NVARCHAR(2) NOT NULL
)
USE tempdb --임시페이블사용
--EXEC sp_help #tranTest
--ALTER TABLE #tranTest
-- DROP CONSTRAINT PK__#tranTest_________29221CFB
DECLARE @i INT --- 데이터 삽입절
SET @i = 1 --- 데이터 삽입절
WHILE @i < 120 --- 데이터 삽입절
BEGIN --- 데이터 삽입절
INSERT INTO #tranTest (id, msg) --- 데이터 삽입절
VALUES (@i, 'AA') --- 데이터 삽입절
SET @i = @i + 1
--- 데이터 삽입절
END
SELECT * FROM #tranTest
BEGIN TRAN --- 1번트랜잭션
UPDATE #tranTest SET id = 111; -- 임시테이블의 아이디값을 111로 바꾼다
SAVE TRAN [tranPoint1]
BEGIN TRAN -- 2번트랜잭션
UPDATE #tranTest SET id = 222; -- 아이디값을 222로 바꾼다
SELECT * FROM #tranTest
ROLLBACK TRAN [tranPoint1] -- 첫번째롤백 tranPoint111 로 롤빽한다
SELECT * FROM #tranTest
ROLLBACK TRAN -- 두번째롤백
SELECT * FROM #tranTest
--////////////// 트랜젝션은 중복 가능하고 중간에 삽입 가능하다 /////////////
'Database > MS-SQL' 카테고리의 다른 글
쿼리 교도소 탈출하기 (0) | 2008.10.14 |
---|---|
저장프로시저와 사용자 지정함수 사용예 (0) | 2008.10.14 |
데이터 베이스 LOCK(잠금) DEAD LOCK(교착상태) (0) | 2008.10.14 |
쿼리문 실행 예제 (2) | 2008.10.14 |
오픈과제 02.doc 33번~ (0) | 2008.10.13 |
셀렉트문 팁 SELECT 28번 문제설명 + 서브 쿼리 중요 (0) | 2008.10.13 |
DATEBASE 쿼리 문제 실습 19~31 (0) | 2008.10.13 |
TABLE에서 행을 삭제하는 세 가지 OPTION의 비교 DELETE TRUNCATE DROP 과 CREATE (0) | 2008.10.10 |