Как создать таблицу из результата запроса select в SQL Server 2008 [дубликат]



этот вопрос уже есть ответ здесь:




  • Как создать таблицу с помощью select query в SQL Server?

    3 ответы



Я хочу создать таблицу из select query result в SQL Server, я пробовал



create table temp AS select.....


но я получаю ошибку




неверный синтаксис рядом с ключевым словом 'AS'


493   6  

6 ответов:

используйте следующий синтаксис для создания новой таблицы из старой таблицы в SQL server 2008

Select * into new_table  from  old_table 

использовать SELECT...INTO

оператор SELECT INTO создает новую таблицу и заполняет ее результирующий набор инструкции SELECT. выберите В можно использовать к объединить данные из нескольких таблиц или представлений в одну таблицу. Он также может используется для создания новой таблицы, содержащей данные, выбранные из связанный сервер.

, например,

SELECT col1, col2 INTO #a -- <<== creates temporary table
FROM   tablename

Стандартный Синтаксис

SELECT  col1, ....., col@      -- <<== select as many columns as you want
        INTO [New tableName]
FROM    [Source Table Name]

пожалуйста, будьте осторожны, MSSQL:"SELECT * INTO NewTable FROM OldTable"

не всегда совпадает MYSQL:"create table temp AS select.."

Я думаю, что есть случаи, когда это (в MSSQL) не гарантирует, что все поля в новой таблице имеют тот же тип, что и старые.

например :

create table oldTable (field1 varchar(10), field2 integer, field3 float)
insert into oldTable (field1,field2,field3) values ('1', 1, 1)
select top 1 * into newTable from oldTable

не всегда выход:

create table newTable (field1 varchar(10), field2 integer, field3 float)

но может быть:

create table newTable (field1 varchar(10), field2 integer, field3 integer)

попробуйте использовать SELECT INTO....

SELECT ....
INTO     TABLE_NAME(table you want to create)
FROM source_table

пожалуйста, попробуйте:

SELECT * INTO NewTable FROM OldTable

выберите [имена полей] В [новая таблица] из [исходная таблица]

Comments

    Ничего не найдено.