有没有办法创建system table valued function
可以在任何数据库上运行。 类似于与SP创建系统表值功能
use master;
create procedure sp_test
as
begin select 1 end;
exec sys.sp_MS_marksystemobject sp_test
该SP可以在任何数据库服务器中执行。我在TVF寻找同样的例子。
有没有办法创建system table valued function
可以在任何数据库上运行。 类似于与SP创建系统表值功能
use master;
create procedure sp_test
as
begin select 1 end;
exec sys.sp_MS_marksystemobject sp_test
该SP可以在任何数据库服务器中执行。我在TVF寻找同样的例子。
在引用函数时使用数据库名称选项?如果是这样,你可以只创建功能......
USE Master
GO
CREATE FUNCTION dbo.yourITVF()
RETURNS TABLE AS RETURN
SELECT * FROM <some table>;
GO
然后像这样从任何数据库实例上运行它:
SELECT * FROM master.dbo.yourITVF();
但我想使它成为系统TVF,不使用4部分标识符,因为TVF内部是我想要在每个特定DB上使用的表,就像同样的类比SP上面描述的 – Sher
无论如何,我还没有意识到您可以对您的ITVF示例中的存储过程执行相同的操作。我只是提供替代/解决方案。 –
通过所有论坛会后,有没有办法让系统功能。只有存储过程和表可以完成系统。
我没有看到任何问题,为什么你不能尝试一次在测试实例 – TheGameiswar
@TheGameiswar,我没有工作。 TVF是否有任何命名约定? – Sher
@TheGameiswar,你可以发表与上面相同的简单例子来说清楚吗? – Sher