教你怎么使用sql游標實例分享
更新時間:2012年06月26日 19:28:20 作者:
教你怎么使用sql游標實例分享,需要的朋友參考下
[sql]
--1.將每個老師的工資更新為原來的工資+獎金
--定義兩個變量,用來存儲ttid與reward
declare @tid int
declare @reward money
--1。建立一個基于獎金表的游標
declare cur_reward cursor fast_forward for select ttid,reward from TblTeacherSalary
--2.打開游標
open cur_reward
--通過游標讀取數(shù)據(jù)
fetch next from cur_reward into @tid,@reward
while @@fetch_status=0
begin
--更新工資
update TblTeacher set ttsalary=ttsalary+@reward where ttid=@tid
fetch next from cur_reward into @tid,@reward
end
--3.關(guān)閉游標
close cur_reward
--4.釋放資源
deallocate cur_reward
說明:在一般情況下,不要使用游標。性能極點低下。 假如在處理大量數(shù)據(jù)。普通的sql 執(zhí)行非常慢時,這個時候可以試試游標。也許會給你帶來意想不到效果
作者 xhccom
--1.將每個老師的工資更新為原來的工資+獎金
--定義兩個變量,用來存儲ttid與reward
declare @tid int
declare @reward money
--1。建立一個基于獎金表的游標
declare cur_reward cursor fast_forward for select ttid,reward from TblTeacherSalary
--2.打開游標
open cur_reward
--通過游標讀取數(shù)據(jù)
fetch next from cur_reward into @tid,@reward
while @@fetch_status=0
begin
--更新工資
update TblTeacher set ttsalary=ttsalary+@reward where ttid=@tid
fetch next from cur_reward into @tid,@reward
end
--3.關(guān)閉游標
close cur_reward
--4.釋放資源
deallocate cur_reward
說明:在一般情況下,不要使用游標。性能極點低下。 假如在處理大量數(shù)據(jù)。普通的sql 執(zhí)行非常慢時,這個時候可以試試游標。也許會給你帶來意想不到效果
作者 xhccom
相關(guān)文章
SQL?Server?數(shù)據(jù)庫基礎(chǔ)編程詳解
這篇文章主要為大家介紹了SQL?Server?數(shù)據(jù)庫基礎(chǔ)編程,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2022-01-01SQL Server SQL Agent服務(wù)使用教程小結(jié)
SQL Server SQL Agent服務(wù)使用教程小結(jié)...2007-03-03SQL Server誤區(qū)30日談 第27天 使用BACKUP WITH CHECKSUM可以替代DBCC CheckDB
乍一看,由于BACKUP WITH CHECKSUM會檢測所有分配出去的頁的校驗和的值,這個誤區(qū)貌似是這么回事,但實際上并不是這么回事2013-01-01一個統(tǒng)計表每天的新增行數(shù)及新增存儲空間的功能
這篇文章主要介紹了一個統(tǒng)計表每天的新增行數(shù)及新增存儲空間的功能,需要的朋友可以參考下2014-07-07