2009-04-29 34 views
1

我真的不能想出这个问题的最佳表达方式,所以我只举一个例子。假设我有一个像这样创建表:有没有什么办法用SQL Server 2005中的视图创建一个具有相同布局的表?

CREATE VIEW People 
AS 
    SELECT 
     id, --int 
     name, --varchar(20) 
     birthdate --datetime 
    FROM SomeTable 

如果我想从一个视图更改为一个物理表,有没有什么办法来创建一个表具有相同的布局?

换句话说,我想利用这个观点,并创建一个表是这样的:

CREATE TABLE People(
    id int, 
    name varchar(20), 
    birtdate datetime 
) 

...但无需手动编写查询出来。

这当然是一个人为的例子。该视图有许多不同数据类型的字段,因此手工难以完成。

回答

7

如何

SELECT * INTO MyNewTable FROM MyView 

,如果你不想要的内容,只是结构

SELECT * INTO MyNewTable FROM MyView WHERE 1 = 2 
1

SELECT * INTO PeopleTable距离人民

+1

语法错误。 INTO必须在FROM之前。 – mwigdahl 2009-04-29 19:27:39

+0

已修复,已经 – 2009-04-29 19:28:48

2
SELECT * 
INTO People_Table 
FROM People_View 
相关问题