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')