Sql存储过程更新空列

时间:2016-10-25 05:56:15

标签: sql sql-server stored-procedures subquery

这是我的表

  FundId  Fund   Industry State    Column1
     1     1        2      NSW             
     2     1        2      ACT         
     3     1        2      VIC          
     4     1        2      NSW         
     5     1        2      ACT         
     6     1        2      VIC         
     7     1        2      NSW          
     8     1        2      ACT         
     9     1        2      VIC      

目前Column1为空,这是一个计算列。它计算为

   Column1: fund*5

以下是计算Column1的查询

 SELECT Fund,
           Industry,
           State,
           Fund * 5 AS Column1
    FROM fundDetails

查询工作正常。但我想使用存储过程更新空Column1。

如何更新column1

任何帮助都将不胜感激。

4 个答案:

答案 0 :(得分:2)

CREATE PROCEDURE USP_Upd_fundDetails
AS
BEGIN
      UPDATE fundDetails
      SET Column1 = Fund*5
END

答案 1 :(得分:0)

这是您可以更新它的方式:

CREATE PROCEDURE dbo.UpdateColumn1 @Value int  
As
Begin
Update fundDetails set Column1 = Fund*@value 
END 
GO

其中@value是传递给存储过程的参数
执行它使用:
          EXEC dbo.UpdateColumn1 @Value = 5

答案 2 :(得分:0)

首先创建程序为

CREATE PROCEDURE usp_update_column1
AS
BEGIN
 UPDATE fundDetails set  SET Column1 = Fund*5
END 

现在将存储过程称为

usp_update_column1 // or
EXEC usp_update_column1 // or
EXECUTE usp_update_column1

答案 3 :(得分:0)

-- =============================================
-- Author:		<Jay Raj Mishra>
-- Create date: <Tuesday 25-10-2016 11:57 AM>
-- Description:	<update the column1 Field>
-- =============================================
CREATE PROCEDURE usp_FundUpdate
@FundID INT=NULL,
@Column1 MONEY=NULL
AS
BEGIN
	UPDATE fundDetails SET Column1=@Column*5 WHERE FundId=@FundID
END
GO

调用SP - usp_FundUpdate @FundID = 1,@ Column1 = 2