Considere el siguiente comando:
SELECT 'SELECT ' +
STUFF ((
SELECT ', [' + name + ']'
FROM syscolumns
WHERE id = OBJECT_ID('Table') AND
name <> 'me'
FOR XML PATH('')), 1, 1, '') +
' FROM [Table]'
Eso construirá un SELECT
instrucción para una tabla específica. Para construir un INSERT
declaración podría verse así:
SELECT @sql = 'INSERT INTO [Table] (' +
STUFF ((
SELECT ', [' + name + ']'
FROM syscolumns
WHERE id = OBJECT_ID('Table') AND
name <> 'me'
FOR XML PATH('')), 1, 1, '') +
') VALUES (' +
STUFF ((
SELECT ', @' + name
FROM syscolumns
WHERE id = OBJECT_ID('Table') AND
name <> 'me'
FOR XML PATH('')), 1, 1, '') + ')'
Por supuesto, hay muchas formas de llegar a INSERT
declaración, moldéala a tu gusto.