使用过程输出更新列

时间:2013-06-18 15:11:47

标签: sql-server

我有一张表格如下所示 -

           Table1
   Col1     Col2    Col3
    1         a     NULL
    2         b     NULL
    3         c     NULL

我有一个程序usp_calculateResult(Col1,Col2)。

现在我想要的是使用过程usp_calculateResult的输出更新Col3。 例如,如果我想用Col1的值更新Col3,那么我们将执行:UPDATE Table1 SET Col3 = Col1。 我需要用过程输出替换Col1。

我正在使用SQL Server 2005.请帮忙。

注意:usp_calculateResult有两个输入参数和一个输出参数。由于安全问题,我无法发布程序。

[已编辑:已添加]

根据以下讨论,我认为我必须使程序与程序相同。我没有看到任何其他选择。有人可以对此发表评论吗?

1 个答案:

答案 0 :(得分:0)

根据您的上下文,您的proc只返回一个值,您应该将proc重新表示为用户定义的函数。然后,您应该使用它来创建计算/计算列(此示例中给出的简单公式可以直接替换为您的函数)信息http://technet.microsoft.com/en-us/library/ms188300.aspx和此处http://technet.microsoft.com/en-us/library/ms188300%28v=sql.90%29.aspx

这种方法适用于2005年,2008年,2012年。