Einfügen von mehreren Zeilen in einer SQL Server-Tabelle mit einer Tabelle variable

Ich bin derzeit mit SQL Server 2008, und ich bin versucht, erstellen Sie eine Anweisung mit eine table-variable einfügen mehrere Zeilen in der Tabelle. Wie es jetzt steht, muss ich einfügen, dass die Informationen Hinzugefügt, die in 4 verschiedenen spots(2 select-Anweisungen, die 1 setzen und 1-update), würde aber gerne in der Lage, zum erstellen einer einzelnen Tabelle, eine variable, so dass ich nur haben Sie die Informationen einmal. Jede Hilfe/Anregungen würde sehr geschätzt werden.

Dies ist ein Beispiel von, was ich versuche zu ändern.

PRINT 'Before'
SELECT  GROUPID, ModifiedBy, ModifiedDate
FROM TableXYZ
WHERE groupID in(ID1, ID2, ID3, ID4)                                                            

BEGIN TRAN


Insert into TableXYZ
 (GROUPID)
VALUES
 (ID1), (ID2), (ID3), (ID4)                                                             



UPDATE TableXYZ
SET existingdays = 15
    ,ModifiedBy = @userID
    ,ModifiedDate = @today
WHERE groupID in(ID1, ID2, ID3, ID4)                                                            


Set  @RowCount =  @@ROWCOUNT 


PRINT 'After '

SELECT  GROUPID, ModifiedBy, ModifiedDate
FROM TableXYZ
WHERE groupID in(ID1, ID2, ID3, ID4)    
Es ist nicht klar, was du zu erreichen versuchst - warum würde eine einzige TVP in der Lage sein zu ersetzen, die zwei wählt, eine insert-und eine update?
Können Sie erklären, Ihre Frage detaillierter?
Wenn Sie möchten, auf eine Tabelle mit einer Variablen, dann ist, soweit ich weiß, müssen Sie erstellen eine (vorbereitete) Erklärung Innenseite Sie Ihre Anfrage mit CONCAT() zu concat Ihre variable und alle anderen-Abfrage-code.
Das ist der bestehende code, die ich ändern möchte

InformationsquelleAutor CM_Heroman | 2013-01-14

Schreibe einen Kommentar