Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/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 R2 - Fatal编程技术网

Tsql 创建系统表值函数

Tsql 创建系统表值函数,tsql,sql-server-2008-r2,Tsql,Sql Server 2008 R2,是否有方法创建可在任何数据库上运行的系统表值函数。 与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() R

是否有方法创建可在任何数据库上运行的
系统表值函数
。 与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

在浏览了所有论坛之后,没有办法让系统发挥功能。只有存储过程和表可以在系统中完成。

我看不出任何问题,为什么不能在测试中尝试一次呢instance@TheGameiswar,我做了,但没用。TVF有任何命名约定吗?@TheGameiswar,你能发布与上面相同的简单示例来说明吗?但我想让它成为系统TVF,而不是使用4部分标识符,因为TVF中有我想在每个特定数据库上使用的表,就像上面描述的与SP相同的类比一样,我不知道您是否可以使用ITVF执行与示例中存储过程相同的操作。我只是提供了一个替代方案。
SELECT * FROM master.dbo.yourITVF();