Есть ли способ создать таблицу с таким же макетом, как у представления в SQL Server 2005? - PullRequest
1 голос
/ 29 апреля 2009

Я не могу придумать, как лучше сформулировать этот вопрос, поэтому приведу только один пример. Предположим, у меня есть таблица, которая создается следующим образом:

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

Если бы я хотел изменить это представление на физическую таблицу, есть ли способ создать таблицу с такой же раскладкой?

Другими словами, я хочу взять это представление и создать такую ​​таблицу:

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

... но без необходимости выписывать этот запрос вручную.

Это, конечно, надуманный пример. Представление имеет много полей с множеством разных типов данных, поэтому было бы сложно сделать это вручную.

Ответы [ 3 ]

7 голосов
/ 29 апреля 2009

Как насчет

SELECT * INTO MyNewTable FROM MyView 

И если вам не нужен контент, просто структура

SELECT * INTO MyNewTable FROM MyView WHERE 1 = 2
2 голосов
/ 29 апреля 2009
SELECT *
INTO People_Table
FROM People_View
1 голос
/ 29 апреля 2009

Выбрать * INTO PeopleTable ОТ людей

...