SQL插入...(SELECT*,SCOPE_IDENTITY()FROM ...)

Wii*_*axx 3 sql sql-server stored-procedures

我创建了一个存储过程,应该在一个中执行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
Run Code Online (Sandbox Code Playgroud)

但是我收到了一个错误

@newId旁边的语法错误

有人可以请问我有什么不对吗?

任何意见是极大的赞赏

Joh*_*Woo 7

别忘了用 SET

SET @newId = SCOPE_IDENTITY()
Run Code Online (Sandbox Code Playgroud)