从SQL表中获取数据并使用SQL 2012中的存储过程插入另一个表

时间:2015-05-25 05:06:35

标签: sql tsql stored-procedures sql-server-2012

我想从一个表中获取数据并使用存储过程插入另一个表中。 以下是我的代码:

CREATE PROCEDURE uspInitiateSRFWorkFlow 
        @WFPolicyID nvarchar(50) = null 
    AS
    BEGIN
        SET NOCOUNT ON;    
        INSERT INTO ProjectWorkflowAgg
        SELECT * FROM WFPolicyDetails where MasterCode = @WFPolicyID ORDER BY Priority ASC;
    END
    GO

错误是: Msg 2809,Level 18,State 1,Line 1 过程'WFPolicyDetails'的请求失败,因为'WFPolicyDetails'是一个表对象。

2 个答案:

答案 0 :(得分:1)

最好在insert中选择Columns并选择statment ..

CREATE PROCEDURE uspInitiateSRFWorkFlow 
        @WFPolicyID nvarchar(50) = null 
    AS
    BEGIN
        SET NOCOUNT ON;    
        INSERT INTO ProjectWorkflowAgg(Column1...,Column)
        SELECT Column1...,Column FROM WFPolicyDetails where MasterCode = @WFPolicyID ORDER BY Priority ASC;
    END
    GO

答案 1 :(得分:0)

要从一个表中获取数据并将其输入另一个表,最好使用触发器。要了解如何使用触发器,请点击链接https://msdn.microsoft.com/en-IN/library/ms189799.aspx

希望它可以帮助解决您的问题。祝你好运!!