說明:灰色 以下介紹的是(顯式事務(wù)) /*建庫*/ USE master GO IF EXISTS(SELECT * FROM SYSDATABASES WHERE NAME='bankDB') DROP DATABASE bankDB EXEC XP_CMDSHELL 'MD D:\BANK' --創(chuàng)建存放數(shù)據(jù)庫文件夾 CREATE DATABASE bankDB ON ( NAME = 'bankDB_data', FILENAME = 'D:\BANK\bankDB_data.MDF', SIZE = 10MB, FILEGROWTH = 15% ) LOG ON ( NAME = 'bankDB_LOG', FILENAME = 'D:\BANK\bankDB_LOG.LDF', SIZE = 10MB, FILEGROWTH = 15% ) GO /*建表*/ USE bankDB GO IF EXISTS (SELECT * FROM SYSOBJECTS WHERE NAME = 'TEST') DROP TABLE TEST CREATE TABLE TEST ( TNAME VARCHAR(8) NOT NULL PRIMARY KEY, --主鍵 TYUER MONEY CHECK (TYUER>=1) --存款余額不能小于1 ) GO --為表插入數(shù)據(jù) INSERT TEST VALUES ('A',1000) INSERT TEST VALUES ('B',1) GO DECLARE @errorSun INT --定義錯誤計數(shù)器 UPDATE TEST SET TYUER=TYUER-10 WHERE TNAME='A' --事務(wù)操作SQL語句 UPDATE TEST SET TYUER=TYUER+10 WHERE TNAME='B' -- IF @errorSun<>0 BEGIN PRINT '有錯誤,回滾' ROLLBACK TRANSACTION--事務(wù)回滾語句 ELSE BEGIN PRINT '成功,提交' COMMIT TRANSACTION--事務(wù)提交語句 GO 提交事物:COMMIT TRANSACTION 回滾事務(wù):ROLLBACK TRANSACTION ②一致性(Consistemcy): ③隔離性(Isolation): ④持久性(Durability): ROLLBACK TRANSACTION 保存點名稱 |
|