Como faço para criar uma tabela baseada em outra tabela [duplicado]

esta pergunta já tem uma resposta aqui:

Quero criar uma tabela baseada na definição de outra tabela.

Estou a vir da oracle e normalmente faria isto.
 CREATE TABLE schema.newtable AS SELECT * FROM schema.oldtable;
Não consigo fazer isto no servidor SQL. 2008.

Author: Aaron Bertrand, 2013-08-15

2 answers

Não existe tal sintaxe no servidor SQL, embora CREATE TABLE AS ... SELECT exista no PDW. No servidor SQL, poderá usar esta pesquisa para criar uma tabela vazia:

SELECT * INTO schema.newtable FROM schema.oldtable WHERE 1 = 0;

(Se quiser fazer uma cópia da tabela incluindo todos os dados, então deixe de fora a cláusula WHERE.)

Note que isto cria a mesma estrutura de colunas (incluindo uma coluna de identidade se existir) mas não copia quaisquer índices, restrições, gatilhos, etc.

 62
Author: Aaron Bertrand, 2013-08-15 13:54:46
select * into newtable from oldtable
 15
Author: Sonam, 2013-08-15 13:48:44