2010-12-03 2 views
1

감사합니다. 나는 내 스크립트를 편집하고 실행했으며 여전히 srp.dbo.gstDataCutover라는 이름을 가지고있다. MSSQL2005를 사용하여 쉽게이 작업을 수행 할 수있었습니다. ...SQL Server 2008 : 테이블 구조 복사 및 스키마

안녕,

나는 새로운 테이블로 테이블 구조 (열, 데이터 유형, 스키마)을 복사하려고 해요을 우리는 최근에 2008로 업그레이드했는데 기억이 그것을 다른 방법으로 일을 해달라고 아래의 SQL 코드를 사용하여 동일한 스키마 및 구조를 가짐.

SELECT  dbo.gstData.* 
INTO   [dbo.gstDataCutover] 
FROM   dbo.gstData 
WHERE  dbo.gstData.gstID < 1 

내 문제는 내가 새 테이블 dbo.gstDataCutover는 "dbo.gstDataCutover"로 이름이 스크립트를 실행할 때,하지만 스키마는 실제로 srp.[dbo.gstDataCutover]있는 시스템 스키마 ("SRP"), 디폴트로.

구조와 스키마를 모두 복사하려고합니다.

감사합니다!

답변

4

마침표가 없으면 하드 대괄호는 테이블 이름을 나타내며 "dbo"를 포함합니다. 귀하의 예제에서 테이블 이름의 일부로.

는 DBO 스키마에서 만든 테이블을 원하는 경우 : 당신은 SRP 스키마에서 만든 테이블을 원하는 경우

SELECT t.* 
    INTO dbo.gstDataCutover 
    FROM dbo.gstData t 
WHERE t.gstID < 1 

마찬가지로 :

SELECT t.* 
    INTO srp.gstDataCutover 
    FROM dbo.gstData t 
WHERE t.gstID < 1 

테이블 이름은이 없습니다 특이한 문자가 있으므로 하드 브래킷을 사용할 필요가 없습니다 ...

+0

감사합니다. 나는 괄호를 꺼냈다. =) –

+0

괄호는 전체 개체 그래프가 아닌 개별 개체를 묶어야합니다. [dbo]. [gstDataCutver] 및 [srp]. [dbo.gstDataCutover] 대신 [gstDataCutover] – BozoJoe

+0

@ BozoJoe : 귀하의 의견은 내 대답에는 적용되지 않지만 위에 게시 된 질문에는 적용되지 않습니다. –