Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Tsql 不同数据库上下文中的同一查询给出不同的结果_Tsql_Sql Server 2008 - Fatal编程技术网

Tsql 不同数据库上下文中的同一查询给出不同的结果

Tsql 不同数据库上下文中的同一查询给出不同的结果,tsql,sql-server-2008,Tsql,Sql Server 2008,在AdventureWords和tempdb中执行以下查询时,将给出不同的结果 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

AdventureWords
tempdb
中执行以下查询时,将给出不同的结果

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
列将为空,而不是真正的对象名。
出现此问题的原因是什么?

默认情况下
对象\u NAME
查看当前数据库中由
使用
语句指定的对象;更改调用以指定要为其提供对象信息的特定数据库:

OBJECT_NAME(m.object_id, DB_ID('AdventureWorks')) AS [name]