1
我需要檢查表中的任何值是否等於0,如果是,然後等待幾秒鐘。任何運算符與while循環在sql
這裏是我的嘗試:
while(ANY(select CheckIfDone from #CheckValTable)) = 0
begin
WAITFOR DELAY '00:00:3';
end
,但我得到這個語法錯誤在ANY
和=
。怎麼我在while循環使用此查詢?
我需要檢查表中的任何值是否等於0,如果是,然後等待幾秒鐘。任何運算符與while循環在sql
這裏是我的嘗試:
while(ANY(select CheckIfDone from #CheckValTable)) = 0
begin
WAITFOR DELAY '00:00:3';
end
,但我得到這個語法錯誤在ANY
和=
。怎麼我在while循環使用此查詢?
爲ANY
語法是
scalar_expression { = | < > | ! = | > | > = | ! > | < | < = | ! < }
{ SOME | ANY } (subquery)
所以語法將需要
WHILE(0 = ANY (SELECT CheckIfDone
FROM #CheckValTable))
BEGIN
WAITFOR DELAY '00:00:3';
END
或者= ANY
被IN
所以你也可以寫
WHILE(0 IN (SELECT CheckIfDone
FROM #CheckValTable))
BEGIN
WAITFOR DELAY '00:00:3';
END
但我可能會爲了清晰起見,使用EXISTS
WHILE(EXISTS(SELECT *
FROM #CheckValTable
WHERE CheckIfDone = 0))
BEGIN
WAITFOR DELAY '00:00:3';
END
但條件永遠無法與你反正顯示爲其他連接不能訪問該臨時表的代碼更改。
什麼是dbms? SQL服務器/甲骨文/我的SQL? – 2015-04-05 16:24:17
我正在使用sql-server。 – 2015-04-05 16:26:24