Преимущества использования предложения SELECT…INTO вместо INSERT в определённых ситуациях:
- Возможность не знать заранее структуру таблицы. 1 Написать инструкцию SELECT…INTO быстрее, чем создать таблицу и выполнить операцию вставки. 1
- Более высокая скорость работы при создании быстрой временной таблицы для тестирования или резервной таблицы конкретного запроса (например, для записи, которую нужно удалить). 1
- Отсутствие ошибок преобразования типов. 2 При загрузке в таблицу с помощью INSERT могут возникнуть ошибки преобразования типов, а с SELECT…INTO этого не произойдёт (хотя базовый запрос может выдать ошибку). 2
Однако у использования SELECT…INTO есть и недостатки: во время обработки инструкция блокирует некоторые метаданные, что может блокировать доступ к таблицам для других запросов в базе данных. 2
Выбор между SELECT…INTO и INSERT зависит от конкретной ситуации и требований к производительности.