Могу ли я указать параметры сортировки при выполнении SELECT INTO - PullRequest
2 голосов
/ 07 октября 2011

Если я выбираю из одного источника в другой, могу ли я указать параметры сортировки одновременно.

, например

SELECT Column1, Column2
INTO DestinationTable
FROM SourceTable

Где «DestinationTable» еще не существует.

Я знаю, что могу сделать что-то вроде

SELECT Column1, Column2 COLLATE Latin1_General_CI_AS
INTO DestinationTable
FROM SourceTable

В моей реальной проблеме типы данных столбца заранее не известны, поэтому я не могу просто добавить параметры сортировки для каждого столбца. Он находится в углу унаследованного приложения, использующего большие неприятные хранимые процедуры, которые генерируют SQL, и я пытаюсь заставить его работать на новом сервере с другим сопоставлением в базе данных tempdb с минимальными изменениями.

Я ищу что-то вроде:

SELECT Column1, Column2
INTO DestinationTable COLLATE Latin1_General_CI_AS
FROM SourceTable

Но это не работает.

1 Ответ

2 голосов
/ 07 октября 2011

Можете ли вы сначала создать таблицу?

Вы можете определить параметры сортировки для соответствующих столбцов.На INSERT они будут принудительными.

Похоже, вы не знаете структуру целевой таблицы ... так что нет, вы не можете без динамического SQL.Что еще хуже ...

...