Existe alguma maneira para criar uma tabela com o mesmo layout como uma exibição no SQL Server 2005?
-
03-07-2019 - |
Pergunta
Eu realmente não posso pensar na melhor forma de expressão a esta pergunta, então eu vou apenas dar um exemplo. Suponha que eu tenho uma tabela que é criada como esta:
CREATE VIEW People
AS
SELECT
id, --int
name, --varchar(20)
birthdate --datetime
FROM SomeTable
Se eu quisesse mudar isso a partir da perspectiva de uma tabela física, existe alguma maneira para criar uma tabela com o mesmo layout?
Em outras palavras, eu quero tirar esse ponto de vista e criar uma tabela como esta:
CREATE TABLE People(
id int,
name varchar(20),
birtdate datetime
)
... mas sem ter que escrever manualmente essa consulta para fora.
Este é, naturalmente, um exemplo inventado. A exibição tem um monte de campos com um monte de diferentes tipos de dados, de modo que seria difícil de fazer manualmente.
Solução
Como cerca
SELECT * INTO MyNewTable FROM MyView
E se você não deseja que o conteúdo, apenas a estrutura
SELECT * INTO MyNewTable FROM MyView WHERE 1 = 2
Outras dicas
SELECT *
INTO People_Table
FROM People_View
Select * INTO PeopleTable de pessoas