表参数作为 OUTPUT
我想将一个表变量传递给一个具有表参数作为输出的过程,但不是只读的!我希望能够在 PROC 中修改该参数。这可能吗?如果不可能,还有其他方法可以做到这一点吗?
谢谢!
我想将一个表变量传递给一个具有表参数作为输出的过程,但不是只读的!我希望能够在 PROC 中修改该参数。这可能吗?如果不可能,还有其他方法可以做到这一点吗?
谢谢!
您必须将表值参数复制到表变量或临时表中
CREATE PROC DoStuff
@tvp SomeTableType READONLY
AS
..
SELECT * INTO #LocalCopy FROM @tvp; -- take local copy
...
DoStuff -- do processing on the input
...
SELECT ... FROM LocalCopy; --return results to client
GO
注释后,表值参数不能声明为 OUTPUT。从创建过程
不能将表值数据类型指定为过程的 OUTPUT 参数。