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
Sql server 如何在SQL Server中执行表值函数_Sql Server_Sql Server 2008 - Fatal编程技术网

Sql server 如何在SQL Server中执行表值函数

Sql server 如何在SQL Server中执行表值函数,sql-server,sql-server-2008,Sql Server,Sql Server 2008,尝试执行表值函数时出现语法错误 select * from fn_security(select R.rk from dbo.LINK R) 错误: Msg 156, Level 15, State 1, Line 1 Incorrect syntax near the keyword 'select'. Msg 102, Level 15, State 1, Line 1 Incorrect syntax near ')'. 我做错了什么?如何执行此操作?您不能传递整个表,就像您现在正在尝

尝试执行表值函数时出现语法错误

select * from fn_security(select R.rk from dbo.LINK R)
错误:

Msg 156, Level 15, State 1, Line 1
Incorrect syntax near the keyword 'select'.
Msg 102, Level 15, State 1, Line 1
Incorrect syntax near ')'.

我做错了什么?如何执行此操作?

您不能传递整个表,就像您现在正在尝试的那样..您可以使用交叉应用来获取所有

你可以在下面试试

select * from dbo.LINK  r
cross apply
dbo. fn_security(r.rk)

你不能通过整张桌子,就像这样,你现在正在尝试..你可以使用交叉应用程序来获得所有

你可以在下面试试

select * from dbo.LINK  r
cross apply
dbo. fn_security(r.rk)

那么,这意味着,如果fn_security使用表而不是函数,“交叉应用”将给出相同的结果?也就是说,例如,select*from table_securityselect R.rk from dbo.LINK R与[在获取结果方面]select*from dbo.LINK R cross apply dbo相同。fn_securityr.rk不能传递整个表-用户定义的表类型如何?您可以使用交叉应用-那么外部应用呢?可以将交叉应用视为联接,但您可以引用主表列,因此,如果联接产生多个结果,则会产生多个结果values@TryingBest-您是同时拥有表链接和函数表_安全性的人。我们没有。您至少可以尝试查询并查看它生成的内容。如果它不能产生您期望的结果,那么我建议编辑您的问题,并包括样本数据和预期结果results@gotqn:我不太清楚,我完全明白外部应用程序是什么,用户定义的表类型只能用于过程so,这意味着如果fn_security使用表而不是函数,“交叉应用”将给出相同的结果?也就是说,例如,select*from table_securityselect R.rk from dbo.LINK R与[在获取结果方面]select*from dbo.LINK R cross apply dbo相同。fn_securityr.rk不能传递整个表-用户定义的表类型如何?您可以使用交叉应用-那么外部应用呢?可以将交叉应用视为联接,但您可以引用主表列,因此,如果联接产生多个结果,则会产生多个结果values@TryingBest-您是同时拥有表链接和函数表_安全性的人。我们没有。您至少可以尝试查询并查看它生成的内容。如果它不能产生您期望的结果,那么我建议编辑您的问题,并包括样本数据和预期结果results@gotqn:我不太清楚,我完全明白外部应用程序是什么,用户定义的表类型只能用于过程