From 67bdd75c78434d95142e06b4ddf07e78ddaef498 Mon Sep 17 00:00:00 2001 From: syneffort Date: Thu, 22 Sep 2022 10:04:57 +0900 Subject: [PATCH] transaction --- @@ERROR goto rollback.sql | 20 ++++++++++++++++++++ begin tran rollback tran.sql | 14 ++++++++++++++ save tran.sql | 16 ++++++++++++++++ 3 files changed, 50 insertions(+) create mode 100644 @@ERROR goto rollback.sql create mode 100644 begin tran rollback tran.sql create mode 100644 save tran.sql diff --git a/@@ERROR goto rollback.sql b/@@ERROR goto rollback.sql new file mode 100644 index 0000000..328e5e6 --- /dev/null +++ b/@@ERROR goto rollback.sql @@ -0,0 +1,20 @@ +USE Study + +GO +BEGIN TRAN + +DELETE FROM DEPT01 WHERE DNO = 10 +SELECT * FROM DEPT01 + +INSERT INTO DEPT01 VALUES (NULL, 'ERROR_PRODUCT', 'seoul') + +IF @@ERROR <> 0 GOTO ERROR_ROLLBACK + +COMMIT TRAN +RETURN + +ERROR_ROLLBACK: +ROLLBACK TRAN + +GO +SELECT * FROM DEPT01 \ No newline at end of file diff --git a/begin tran rollback tran.sql b/begin tran rollback tran.sql new file mode 100644 index 0000000..ffe72ca --- /dev/null +++ b/begin tran rollback tran.sql @@ -0,0 +1,14 @@ +USE Study +GO + +SELECT * INTO DEPT01 FROM DEPARTMENT + +SELECT * FROM DEPT01 + +GO +BEGIN TRAN + +DELETE DEPT01 +SELECT * FROM DEPT01 +ROLLBACK TRAN +SELECT * FROM DEPT01 diff --git a/save tran.sql b/save tran.sql new file mode 100644 index 0000000..88d0f3c --- /dev/null +++ b/save tran.sql @@ -0,0 +1,16 @@ +USE Study + +GO +BEGIN TRAN + +DELETE FROM DEPT01 WHERE DNO = 10 +SAVE TRAN svpoint1 + +INSERT INTO DEPT01 VALUES (50, 'PRODUCT', 'Seoul') +ROLLBACK TRAN svpoint1 + +INSERT INTO DEPT01 VALUES (60, 'DESIGN', 'Jeju') + +COMMIT TRAN + +SELECT * FROM DEPT01 \ No newline at end of file