1事務特點
原子,隔離,一致,永久
/*--轉帳測試:張三轉賬1000元給李四--*/
--我們可能會這樣這樣編寫語句
--張三的帳戶少1000元,李四的帳戶多1000元
update bank set currentmoney = currentmoney - 1000 where customername = '張三'
update bank set currentmoney = currentmoney + 1000 where customername = '李四'
go--再次檢視轉帳後的結果。
select * from bank
go/*--使用事務進行解決--*/
--開始乙個事務
begin transaction tran_bank --也可簡寫為begin tran tran_bank
--定義乙個用於記錄錯誤的變數
declare @tran_error int
set @tran_error = 0
--在張三的賬戶減去
update bank set currentmoney = currentmoney - 10000 where customername = '張三'
set @tran_error = @tran_error + @@error
--在李四的賬戶增加
update bank set currentmoney = currentmoney + 10000 where customername = '李四'
set @tran_error = @tran_error + @@error
if @tran_error <> 0
begin
--執行出錯,回滾事務
rollback transaction
print '轉賬失賬,交易已取消'
endelse
begin
--沒有發現錯誤,提交事務
commit transaction
print '交易成功,已儲存新資料'
endgo
--再次檢視轉帳後的結果。
select * from bank
go--1.宣告游標
declare bank_cursor
cursor local
scroll
for select * from bank
--for select customername,currentmoney from bank --獲取部分列
--2.開啟該游標
open bank_cursor
--3.讀取游標
--定義個變數,用於存放游標中讀取出來的值
declare @id int
declare @name char(10)
declare @money money
--讀取游標的第一條記錄行,並存放在變數中
fetch first from bank_cursor into @id,@name,@money
--迴圈讀取游標中的記錄
print '讀取的資料如下:'
while (@@fetch_status = 0)
begin
--用print輸出讀取的資料
print '賬戶名:' + @name + ' 餘額:' + convert(varchar,@money)
--update bank set currentmoney = currentmoney+1000 where customerid = @id
--讀取下一條記錄行
fetch next from bank_cursor into @id,@name,@money
end--4.讀取完成後關閉游標
close bank_cursor
--5.釋放游標
deallocate bank_cursor
第五章總結
5.1選單 選單是windows應用程式視窗的乙個非常重要的組成部分,視窗的選單欄一般在標題欄下面。這個選單通常稱為 主選單 5.1.1建立和程式設計選單 選單用於sdi 單文件介面 或mdi 多文件介面 以及基於對話方塊的應用程式,在基於對話方塊的應用程式中新建 設計並編輯選單後,在該對話方塊的 ...
第五章總結
兩個約定 約定符號 表示暫存器或者乙個記憶體單元的內容,如 ax 表示ax中內容,bx 表示bx內容,20000h 表示記憶體20000h單元的內容。約定符號idata表示常數。如mov ax,bx 就是把ds bx處的值賦值給ax loop指令 格式 loop 標號 標號有些類似在c語言中goto...
C template第五章總結
1.如果要訪問依賴於模板內部的型別,前面要加上typename,如 tempateclass my subtype是定義於t內部的型別 2.在多繼承中,要使用this指明要訪問的本成員函式 3.可以過載 讓不同的模板之間可以賦值,但是不會忽略型別檢查 如 stackint1 stackf2 f2 i...