Мои знания в SQL Server 2008 ограничены, и я не смог точно определить, как это сделать. Моя идея заключается в том, чтобы использовать результат SELECT, процедуры в виде списка имен столбцов (на основе процедуры, созданной в этом старом вопросе How do you return the column names from a table?) Я хотел бы сделать что-то вроде:использовать вывод запроса как имя столбца в sql sever
INSERT INTO new_table (SELECT COLUMN_NAME,* FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'YourTableName' AND TABLE_SCHEMA='YourSchemaName')
SELECT (SELECT COLUMN_NAME,* FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'YourTableName' AND TABLE_SCHEMA='YourSchemaName') FROM YourTableName
То, что я пытаюсь do - заполнить большую таблицу данными из таблицы с меньшим количеством столбцов (все они содержатся в большой таблице). Возможно, есть лучший способ сделать это.
Я забыл указать, что таблицы основаны на различных базах данных. Есть ли что-то, что я должен принять во внимание из-за этого условия? –
@JorgePM Для оператора 'INSERT' используйте полное имя таблицы в виде' DatabaseName.SchemaName.TableName' и для набора сценариев 'USE databasename;' для получения имен столбцов для первой таблицы. –
Блестящий! это сработало отлично, спасибо! –