Einzelnen Beitrag anzeigen

Sven95

Registriert seit: 4. Sep 2014
7 Beiträge
 
#11

AW: Insert in Tabelle mit unterschiedlichen Spalten

  Alt 7. Okt 2015, 09:11
Erstmal Danke für alle Anworten und Sorry, dass ich mich gestern nichtmehr gemeldet hab.

Ich glaub ich habe jetzt eine passende Lösung:

Code:
DECLARE
  @vNew = char(8000)
  @vOld = char(8000)

set @vNew = (SELECT SUBSTRING (
                                (SELECT ',' + QUOTENAME(COLUMN_NAME)
                                 FROM INFORMATION_SCHEMA.COLUMNS
                                 WHERE TABLE_NAME = 'Tabelle A' and COLUMN_NAME != 'ID'
                                 ORDER BY ORDINAL_POSITION
                                 FOR XML path('')
                                ), 3, 2000000
                              )
            )

set @vNew = (SELECT SUBSTRING (
                                (SELECT ',' + QUOTENAME(COLUMN_NAME)
                                 FROM INFORMATION_SCHEMA.COLUMNS cc
                                 INNER JOIN INFORMATION_SCHEMA.COLUMNS c on cc.column_name = c.Column_name
                                 WHERE cc.TABLE_NAME = 'Tabelle B' and c.TABLE_NAME = 'Tabelle A' and cc.COLUMN_NAME != 'ID' and cc.COLUMN_NAME = c.COLUMN_NAME
                                 ORDER BY ORDINAL_POSITION
                                 FOR XML path('')
                                ), 3, 2000000
                              )
            )

EXECUTE('INSERT INTO Tabelle B ('+@vNew+')
         SELECT '+@vOLD+'
         FROM Tabelle A')
Das SELECT SUBSTRING aus der INFORMATION_SCHEMA.COLUMNS stammt vom Grundgerüst her von
http://stackoverflow.com/questions/2...ecified-when-a
  Mit Zitat antworten Zitat