2009-04-29 4 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 
+0

고마워요. 나는 그것이 단순 할 것이라고 생각했다. –

+1

+1하지만 일부 경우, 특히 null을 계산하는 계산 된 필드를 사용할 때 SQL은 예상 한 필드의 형식을 선택하지 않는다는 점에 유의하십시오. 이 경우 필드의 명시 적 변환을 사용하여 문제를 해결할 수 있습니다. – Yishai

1

선택 * INTO PeopleTable

+1

잘못된 구문을하지 않으려면. INTO는 FROM보다 앞에 있어야합니다. – mwigdahl

+0

이미 고정했습니다 –

2
SELECT * 
INTO People_Table 
FROM People_View 
관련 문제