以下儲存過程闡明了如何在 transact-sql 儲存過程內部執行事務性資金轉帳操作。
create procedure moneytransfer
@fromaccount char(20),
@toaccount char(20),
@amount money
asbegin transaction
-- perform debit operation
update accounts
set balance = balance - @amount
where accountnumber = @fromaccount
if @@rowcount = 0
begin
raiserror('invalid from account number', 11, 1)
goto abort
enddeclare @balance money
select @balance = balance from accounts
where accountnumber = @fromaccount
if @balance < 0
begin
raiserror('insufficient funds', 11, 1)
goto abort
end-- perform credit operation
update accounts
set balance = balance + @amount
where accountnumber = @toaccount
if @@rowcount = 0
begin
raiserror('invalid to account number', 11, 1)
goto abort
endcommit transaction
return 0
abort:
rollback transaction
go該儲存過程使用 begin transaction、commit transaction 和 rollback transaction 語句來手動控制該事務。
Transact SQL 語言概述
transact sql 語言中標準的sql 語句暢通無阻.transact sql 也有類似於sql 語言的分類,不過做了許多擴充.transact sql 語言的分類如下 珨 br 用來說明變數的命令.耨ddl,data definition language 用來建立資料庫 資料庫物件和定義其...
使用 Transact SQL檢視伺服器的排序規則
select convert varchar,serverproperty collation execute sp helpsort select name,description from sys.fn helpcollations sql server 2017 檢視資料庫的排序規則設定 se...
建立 Transact SQL 作業步驟
在物件資源管理器中,連線到 sql server 資料庫引擎例項,再展開該例項。展開 sql server 建立乙個新作業或右鍵單擊乙個現有作業,再單擊 屬性 有關建立作業的詳細資訊,請參閱建立作業。在 作業屬性 對話方塊中,單擊 步驟 頁,再單擊 新建 在 新建作業步驟 對話方塊中,鍵入作業的 步...