Tsql 自定义项输入一个表并输出一个表

Tsql 自定义项输入一个表并输出一个表,tsql,Tsql,我正在尝试如何创建一个用户定义的函数,该函数将接受一个输入参数作为表,然后输出一个表,该表可以在调用它的函数中作为表使用。从我所使用的示例中,我可以输入一个表,也可以返回一个表,但不能两者都输入 有人知道怎么做吗?有人帮我一下,我想我知道了 --DROP TYPE TableType CREATE TYPE TableType AS TABLE (SomePrimaryKey_ID INT) GO --DROP FUNCTION Example CREATE FUNCTION Examp

我正在尝试如何创建一个用户定义的函数,该函数将接受一个输入参数作为表,然后输出一个表,该表可以在调用它的函数中作为表使用。从我所使用的示例中,我可以输入一个表,也可以返回一个表,但不能两者都输入
有人知道怎么做吗?

有人帮我一下,我想我知道了

--DROP TYPE TableType
CREATE TYPE TableType 
AS TABLE (SomePrimaryKey_ID INT)
GO 


--DROP FUNCTION Example
CREATE FUNCTION Example( @TableName TableType READONLY)
RETURNS @Test TABLE
(
intcfmno INT
)
AS
BEGIN
DECLARE @testing AS VARCHAR --<< just checking that I can still declare a variable in the funciton
INSERT @Test
SELECT 22
RETURN 
END


-- testing the function
DECLARE @myTable TableType
INSERT INTO @myTable(SomePrimaryKey_ID) VALUES(111)
--SELECT * FROM @myTable
SELECT * from Example(@myTable)
——拖放类型TableType
创建类型TableType
AS表(SomePrimaryKey_ID INT)
去
--DROP函数示例
创建函数示例(@TableName TableType READONLY)
返回@testtable
(
intcfmno INT
)
作为
开始

将@testing声明为VARCHAR——这将有助于更多地说明您正在尝试做什么。例如,您可以使用XML传递一个类似表的结构。如果要传递真实的表,可以通过传递表名并在动态sql中使用它来实现。您也可以使用全局临时表来处理函数,但这在很大程度上取决于您要完成的任务。理想情况下,我希望将UDF的输入定义为一个表,然后将其结果定义为一个表。ie创建函数ExampleFunction(@TABLE AS TABLE(SomePrimaryKey[int]NULL)只读),返回@SomethingElse TABLE(SomePrimaryKey int,SomeData nvarchar(80),SomeMoreData int)然后,另一个存储过程可以调用它,给它一个数据表,然后返回一个数据表以继续处理。如果我在主数据库上,这将毫无问题地工作,但一旦我转到用户数据库,它就会失败,并显示标量错误消息。已检查对类型和函数的权限。我也在跑步。通过日期输入和表格输出解决了这个问题。但我真的很想把它做好。而且对任何人来说。该问题是由数据库的兼容性级别b/c引起的。可以使用DECLARE@sql varchar(250)set@sql='alter database'+quotename(db_name())+'set COMPATIBILITY_LEVEL=90';exec(@sql)