我想使用内置函数,但想要在不同的数据库中定位对象。
实施例
------------------------------------
USE TestDB_1
GO
SELECT OBJECT_DEFINITION('SOME OBJECT')
UNION
SELECT TestDB_2.SYS.OBJECT_DEFINITION('SOME OBJECT')
------------------------------------
我知道我可以引用sys.sql_modules来获取对象定义,我一般都要求任何内置的sql函数,比如db_name()等。
答案 0 :(得分:2)
您无法在SELECT中引用其他数据库中的系统函数,但您可以像这样运行
use TestDB_1
exec TestDB_2..sp_executesql N'SELECT OBJECT_DEFINITION(OBJECT_ID(''SOME OBJECT''))'