【问题标题】:Stored Procedure that has table argument in T-SQLT-SQL 中具有表参数的存储过程
【发布时间】:2013-05-31 06:52:11
【问题描述】:

表参数作为输出

我想将一个表变量传递给一个以表参数作为输出的过程, 但不是只读的!我希望能够在 PROC 中修改该参数。 这可能吗? 如果不可能,有没有其他方法可以做到这一点?

谢谢!

【问题讨论】:

    标签: sql-server tsql procedure table-variable


    【解决方案1】:

    您必须将表值参数复制到表变量或临时表中

    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。来自CREATE PROC

    不能将表值数据类型指定为过程的 OUTPUT 参数。

    【讨论】:

    • @BlackViking:已更新。您的表参数不能是 OUTPUT。
    猜你喜欢
    • 1970-01-01
    • 2017-08-18
    • 1970-01-01
    • 2023-03-31
    • 2018-10-03
    • 2013-05-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多