尝试在不同列中复制x行数的标识。SQL server存储过程

尝试在不同列中复制x行数的标识。SQL server存储过程,sql,stored-procedures,Sql,Stored Procedures,我想将我的身份添加到另一列,行数为x。我可以在存储过程中使用此代码使其重复两行 ALTER PROCEDURE [dbo].[InsertReport3] @incdate INT, @inctime VARCHAR(7), @inv1 VARCHAR(30), @

我想将我的身份添加到另一列,行数为x。我可以在存储过程中使用此代码使其重复两行

ALTER PROCEDURE [dbo].[InsertReport3] @incdate INT,
                                      @inctime VARCHAR(7),
                                      @inv1    VARCHAR(30),
                                      @inv2    VARCHAR(30),
                                      @inv3    VARCHAR(30),
                                      @inctype VARCHAR(20),
                                      @incnar  TEXT,
                                      @incloc  TEXT,
                                      @no      INT
AS
    INSERT INTO IncidentReport
                (I_Date_Incident,
                 I_Time,
                 IncidentType,
                 I_Narrative,
                 I_Location,
                 I_ID,
                 U_no_fk)
    VALUES     (@incdate,
                @inctime,
                @inctype,
                @incnar,
                @incloc,
                @inv1,
                @no);

    UPDATE Incidentreport
    SET    I_reportno = @@IDENTITY
    WHERE  I_no = @@IDENTITY;

    INSERT INTO IncidentReport
                (I_reportno,
                 I_Date_Incident,
                 I_Time,
                 IncidentType,
                 I_Narrative,
                 I_Location,
                 I_ID,
                 U_no_fk)
    VALUES     (@@IDENTITY,
                @incdate,
                @inctime,
                @inctype,
                @incnar,
                @incloc,
                @inv2,
                @no);

当我使用该代码得到三个时,它将增加一个,只提取以前的标识,想法?

假设您使用的是MS SQL Server,那么您应该使用
SCOPE\u identity()
而不是
@@identity
。可以找到理由。我认为这将解决您遇到的问题