2011-04-04 71 views

回答

0

如果您嘗試訪問尚未定義的變量,則T-SQL腳本會給您一個錯誤,告訴您該變量未定義。

消息137,等級15,狀態2,行5 必須聲明標量變量「@x」。

15


的變量TSQL聲明不遵循代碼路徑和使用範圍,想也許是其他語言一樣。

該代碼顯示@xx存在但未分配,即使該聲明從未執行過。

if 1 = 0 
begin 
    declare @xx int = 10 
end 
else 
begin 
    declare @yy int = 20 
end 

print coalesce(@xx, -100) 
print coalesce(@yy, -200) 

結果

-100 
20 
+2

只是櫃面其他人也在尋找一種方式來做到這一點嘗試和catch塊也不會工作。如果你想檢查一個變量是否存在,然後聲明它,如果沒有。 – user802599 2016-05-16 04:11:31