2012-03-06 52 views
0

這個特別的聲明是什麼意思,我遇到了一個存儲過程,這個條件被驗證多次。在Sql Server中語法的含義

任何人都可以爲我解釋這個請。那麼我廣泛地理解,我們正在檢查這個臨時表是否存在。

我不明白它是什麼做的兩個點「..」表示,什麼是‘U’

IF OBJECT_ID('TEMPDB..#tablename', 'U') IS NOT NULL 

回答

1

OBJECT_ID函數檢查數據庫中是否存在和U該特定表的含義指定用戶表。

1

...和'TEMPDB..'前綴表示它存在於默認架構(通常爲dbo)下的tempdb數據庫中。

0

查看OBJECT_ID文檔。它返回數據庫中對象的標識符。在這種情況下,它正在尋找一個用戶('U')在默認模式(..)中創建名爲#tablename的臨時表。

您還可以查看sys.objects文檔。具體來說,輸入有效的'object_type'值。