我有工作正常,但是當它到達腳本的這一部分,似乎仍然運行更新,即使表不存在光標:IF EXISTS在SQL Server遊標不工作
SET @sql = 'IF (EXISTS (SELECT * FROM ps_vars_' + @datasetid + '))
BEGIN
UPDATE ps_vars_' + @datasetid + '
SET programming_notes = replace(programming_notes, ''Some of the variables listed are source variables.'')
END';
EXEC SP_EXECUTESQL @sql
我錯過了什麼? #datasetid變量也會正確傳入。
這應該只是產生一個錯誤,因爲該對象不存在...是否有錯誤陷阱否則在過程中的位置? – JNK
它應該做什麼?似乎很奇怪,你會檢查表是否有任何行,如果是的話更新全部。 「IF」是否意味着表格存在檢查而不是「有行」檢查? –
我試圖得到它,所以如果對象不存在,它會忽略它。我如何捕獲錯誤? – cdub