использование SELECT INTO с выбором в качестве источника

#sql #insert

#sql #вставить

Вопрос:

Я хочу создать таблицу, используя результаты запроса, используя SELECT INTO.

Синтаксис

 SELECT *
INTO Persons_Backup
FROM Persons
  

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

Что-то вроде

    SELECT *
    INTO Persons_Backup
    FROM (Select 1, 'a',' 2001-01-01 12:00')
  

не работает, но дает представление о том, что я хочу сделать. Как я могу этого добиться?

Я буду использовать SQL2008

Ответ №1:

Сделайте свой оператор select как обычный, игнорируя INTO часть. Это должно работать нормально. Для вашего примера:

  SELECT 1, 'a',' 2001-01-01 12:00'
    INTO Persons_Backup
  

Или более сложный

  SELECT first, last
  INTO person_backup_h
 WHERE first like 'H%'
  

Это также будет работать

 select 'a' as c1,'b' as c2
 into temp
union all
select 'c','d'
  

Комментарии:

1. @callisto — пример, опубликованный для UNION ALL