2010-12-12 101 views
0

以下查詢在執行AdventureWordstempdb時會給出不同的結果。在不同的數據庫上下文中的相同查詢會給出不同的結果

SELECT o.type_desc, 
     OBJECT_NAME(m.object_id) name, 
     definition 
FROM [AdventureWorks].sys.sql_modules m 
     INNER JOIN [AdventureWorks].sys.objects o ON m.object_id = o.object_id; 

當您在tempdb上下文中執行它時,name列將爲空值,而不是真正的對象名稱。 這個問題的原因是什麼?

回答

2

默認情況下,OBJECT_NAME查看USE語句指定的當前數據庫中的對象;改變你的電話以指定你想要的對象信息的具體數據庫:

OBJECT_NAME(m.object_id, DB_ID('AdventureWorks')) AS [name] 
相關問題