SQL游標遍歷時的變數賦值

2022-02-23 11:58:15 字數 360 閱讀 1264

今天遇到乙個錯誤,自己一直沒有意思到這樣寫是錯誤的。

在游標迴圈過程中使用變數要注意

declare @a;

select @a = column1 from table1 where column2 = '123'

if @a is null

begin

end原以為如果找不到'123'的記錄,變數@a 會被賦成null,可事實上,@a 會保留上一次loop取到的有效值(即非null的歷史值)

應該改為

set @a = select column1 from table1 where column2 = '123'

這樣才能在找不到記錄時正確將@a設定為null....

sql 游標迴圈遍歷

原文 sql 游標迴圈遍歷 寫儲存過程的時候碰到乙個需要對資料進行遍歷迴圈操作的問題,最後通過游標解決了,感覺很適用 1 declare level varchar 100 2 declare uid varchar 100 3 declare cur cursor 定義乙個游標 4read onl...

為變數賦值(SQL)

兩種方式 set select.1.set 可以理解為過程式程式設計中函式呼叫形式,用乙個set語句結合表示式,給引數賦值 declare number int,result int set number 121 set result sqrt number select result結果為 11 ...

sql 語句拼接 游標遍歷和函式遍歷

對於表的遍歷在很多時候都要用到,下面給出了兩種方法 declare table table code int,msg nvarchar 15 宣告表作為遍歷物件 declare code varchar 15 declare msg varchar 20 declare i int set i 1 ...