在 SQL 2012 年使用存储过程从一个 table 获取数据并插入到另一个

Fetching Data from one table and inserting into another using stored procedure in SQL 2012

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

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

错误是: 消息 2809,级别 18,状态 1,第 1 行 过程 'WFPolicyDetails' 的请求失败,因为 'WFPolicyDetails' 是一个 table 对象。

最好在插入和select语句中指定列..

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

要从一个 table 获取数据并将其输入到另一个,最好使用触发器。要了解如何使用触发器,这里是 link https://msdn.microsoft.com/en-IN/library/ms189799.aspx

希望对您的问题有所帮助。祝你好运!!