2015-10-12 69 views
1

下面的語法有什麼區別?相當新的SQL和我有研究互聯網的答案,但不是真正瞭解的差異。臨時表之間的區別

If object_id('tempdb..#test1') vs If object_id('#test1') 

回答

3

如果#test1存在,那麼第一個例子將返回一個值不管你目前在哪個數據庫。該語法限定數據庫名稱和臨時表名稱。

第二個示例只會在'tempdb'數據庫和臨時表存在的情況下返回值。

除此之外,這兩個陳述在功能上是相同的。

1

這取決於你查詢的數據庫。如果你在[tempdb]數據庫上運行這些查詢,他們正在做同樣的事情。如果從另一個數據庫運行它,它是相當於...

If object_id('tempdb..#test1') vs If object_id('DatabaseName..#test1') aka If object_id('DatabaseName.dbo.#test1') 

如果不提供[服務器] [數據庫] [架構]信息,則默認爲默認架構服務器/數據庫查詢正在運行的位置。