原文:
sql server儲存過程中常見游標迴圈用法
用游標,和while可以遍歷您的查詢中的每一條記錄並將要求的字段傳給變數進行相應的處理
declare@a1varchar(10
),@a2
varchar(10
),@a3
intdeclare youcurname cursor
forselect a1,a2,a3 from
youtablename
open
youcurname
fetch
next
from youcurname into
@a1,@a2,@a3
while
@@fetch_status
<>-
1begin
--您要執行的操作寫在這裡
fetch
next
from youcurname into
@a1,@a2,@a3
endclose
youcurname
deallocate youcurname
再加上異常捕捉和事務,完整過程如下:
createprocedure
[dbo
].[usp_createpanicbuyingcode](
@ordernumber
varchar(50
))as
declare
@a1varchar(10
),@a2
varchar(10
),@a3
intbegin
try
begin
tran
declare youcurname cursor
forselect a1,a2,a3 from
youtablename
open
youcurname
fetch
next
from youcurname into
@a1,@a2,@a3
while
@@fetch_status
<>-
1begin
--您要執行的操作寫在這裡
fetch
next
from youcurname into
@a1,@a2,@a3
endclose
youcurname
deallocate
youcurname
commit
tran
endtry
begin
catch
rollback
end catch
Sql server儲存過程中常見游標迴圈用法
用游標,和while可以遍歷您的查詢中的每一條記錄並將要求的字段傳給變數進行相應的處理 declare a1varchar 10 a2 varchar 10 a3 intdeclare youcurname cursor forselect a1,a2,a3 from youtablename op...
SQLServer 儲存過程中各種判斷是否為空
1.判斷是否存在這樣的記錄 if not exists 和 if exists 相對應 例 使用者是否存在 if not exists if exists select 1 from user nolock where username abcd begin print 使用者存在 end else...
SqlServer儲存過程中迴圈的使用
1.while迴圈 格式示例如下 declare iint set i 1 while i 30begin insert into test userid values i set i i 1end2.游標迴圈 格式示例如下 declare a1varchar 10 a2varchar 10 a3i...