我无法想到用这句话来表达这个问题的最好方法,所以我只想举个例子。假设我有一个像这样创建的表:

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

如果我想将其从视图更改为物理表,有没有办法创建具有相同布局的表?

换句话说,我想采取这种观点并创建一个这样的表:

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

...但无需手动编写该查询。

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

有帮助吗?

解决方案

怎么样

SELECT * INTO MyNewTable FROM MyView 

如果您不想要内容,只需要结构

SELECT * INTO MyNewTable FROM MyView WHERE 1 = 2

其他提示

SELECT *
INTO People_Table
FROM People_View

选择* INTO PeopleTable FROM People

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top