gpt4 book ai didi

SQL游标获取状态含义

转载 作者:行者123 更新时间:2023-12-02 17:03:52 25 4
gpt4 key购买 nike

我不明白以下几行的含义:

   WHILE 1 = 1 
BEGIN
FETCH NEXT FROM SomeCursor INTO @SomeId, @SomeOtherColumn

IF @@FETCH_STATUS <> 0 BREAK

while 1=1 的含义是什么?如果获取状态不为 0?

最佳答案

1=1 只是一个总是返回 true 的简短条件,即永远循环(好吧,直到您在其他地方突破它)。

至于获取状态值,像往常一样,MSDN 是您的 friend 。来自 https://msdn.microsoft.com/en-us/library/ms187308.aspx

  • 0 = The FETCH statement was successful.
  • -1 = The FETCH statement failed or the row was beyond the result set.
  • -2 = The row fetched is missing.

例如如果您得到除 0 以外的任何值,则表示出现问题,因此没有必要继续。

顺便说一句,MSDN 还指出这是一个遗留问题,@@FETCH_STATUS 是全局的,因此在使用多个游标的情况下它是不可信的。相反,从 sys.dm_exec_cursors 动态管理函数中查找光标的单独获取状态值。

关于SQL游标获取状态含义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32992235/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com