Wie kann ich mit OUTPUT eine neue und eine alte ID erfassen?

Nehmen wir zum Beispiel an, ich hätte

    create table product
    (
      ID INT IDENTITY(1,1) NOT NULL,
      Name VARCHAR(10)
    )

    insert into product(Name) values('a')
    insert into product(Name) values('b')
    insert into product(Name) values('c')
    insert into product(Name) values('d')
    insert into product(Name) values('e')

    create table #tempproduct
    (
      ID INT IDENTITY(1,1) NOT NULL,
      Name VARCHAR(10)
    )

    declare @OutputAttributesValues table
    (
      [NewID] INT, 
      [OldID] INT
    )

    insert into #tempproduct(Name)
    OUTPUT INSERTED.[ID],[ID] INTO @OutputAttributesValues
    select [Name] FROM product

Siehe Ich muss sowohl die alte als auch die neue ID aus der Ausgabe abrufen. Aber diese SQL gibt mir den Fehler "Ungültiger Spaltenname 'ID'."http://sqlfiddle.com/#!3/a27b2/1

Antworten auf die Frage(2)

Ihre Antwort auf die Frage