3

我创建了一个应该在一个中执行 2 次插入的存储过程

第一步我想为每个插入创建一个新条目。

第二步,我将从这个条目中捕获创建的 Id

第三步我想从一个表中复制每个选择的多个条目,并将这些条目插入到同一个带有 Id 的表中

Create PROCEDURE dbo.Rolle_Copie
    @Id as int,
    @newId as int = 0,
    @Name AS nvarchar(50)
AS
    INSERT INTO Rollen (RolleName) 
    VALUES (@Name)

    @newId = SCOPE_IDENTITY()

    INSERT INTO Berechtigung_Rolle (RefRolleId,RefBerechtigungId)
        SELECT   
           RefBerechtigungId, @newId 
        FROM     
           Berechtigung_Rolle 
        WHERE    
           RefRolleId = @Id

    RETURN

但我得到一个错误

@newId 旁边的语法错误

有人可以告诉我有什么问题吗?

任何意见是极大的赞赏

4

1 回答 1

7

不要忘记使用SET

SET @newId = SCOPE_IDENTITY()
于 2013-01-23T14:08:46.060 回答