모든 테이블에 대해 "CREATE"스크립트를 얻고 싶습니다."table as", "Create table"스크립트를 SQL Management Studio에서 사용하는 방법
sp_helptext와 같은 스크립트가 있습니까?
"스크립트 표 형식"-> "표 만들기" 을 선택하면 어떻게 스크립트를 가져올 수 있습니까?
모든 테이블에 대해 "CREATE"스크립트를 얻고 싶습니다."table as", "Create table"스크립트를 SQL Management Studio에서 사용하는 방법
sp_helptext와 같은 스크립트가 있습니까?
"스크립트 표 형식"-> "표 만들기" 을 선택하면 어떻게 스크립트를 가져올 수 있습니까?
데이터베이스를 마우스 오른쪽 단추로 클릭하고 작업 -> 스크립트 생성으로 이동할 수 있습니다.
이렇게하면 원하는 모든 스크립트를 스크립팅 할 수 있습니다.
당신 말이 맞아요. 스크립트 생성은이 작업을 잘 수행하고 있습니다. 하지만 일부 인증 문제 때문에이 솔루션을 사용할 수 없습니다. – maycil
테이블 정의에 액세스 할 수없는 인증 문제가 있습니까? 그렇다면 도구를 사용하여 테이블을 스크립팅 할 수 없습니다. 1 단계는 필요한 액세스 권한을 얻는 것 같습니다. –
Stefan과 gbn이 제안한 것을 사용할 수 있습니다. 또한 u DB에 대한 정확한 복제본에 대한 스크립트를 원한다면 Microsoft SQL Server Database Publishing Wizard을보십시오. VS에 내장 됨 2008 +
새로운 버전이 있습니까? 그것은 SQL 2008을 지원하지 않습니다 – maycil
SQL 서버에서 스크립트 생성 옵션을 사용할 수 있습니다.
Tasks->Generate Scripts
여기에는 필요에 맞게 스크립트를 만들 수 있습니다.
이미 누군가가이 질문에
The best method is Rightclick the database then Tasks->Generate Scripts
에 올바른 대답을하지만 어떤 이유로 당신이 방법을 사용할 수 없기 때문에 당신이 지적된다. 당신은 당신이 아래의 방법을 취할 수 쿼리를 사용하는 방법을 찾고 있다면
은 당신이
Select [dbo].ShowMyTableData ('tablename')
확장처럼 함수를 호출 할 수 있습니다
Go
Create Function ShowMyTableData
(
@vsTableName varchar(50)
)
Returns
VarChar(Max)
With ENCRYPTION
Begin
Declare @ScriptCommand varchar(Max)
Select @ScriptCommand =
' Create Table [' + SO.name + '] (' + o.list + ')'
+
(
Case
When TC.Constraint_Name IS NULL
Then ''
Else 'ALTER TABLE ' + SO.Name + ' ADD CONSTRAINT ' +
TC.Constraint_Name + ' PRIMARY KEY ' + ' (' + LEFT(j.List, Len(j.List)-1) + ')'
End
)
From sysobjects As SO
Cross Apply
(
Select
' [' + column_name + '] ' +
data_type +
(
Case data_type
When 'sql_variant'
Then ''
When 'text'
Then ''
When 'decimal'
Then '(' + Cast(numeric_precision_radix As varchar) + ', ' + Cast(numeric_scale As varchar) + ') '
Else Coalesce('(' +
Case
When character_maximum_length = -1
Then 'MAX'
Else Cast(character_maximum_length As VarChar)
End + ')' , ''
)
End
)
+ ' ' +
(
Case
When Exists (
Select id
From syscolumns
Where
(object_name(id) = SO.name)
And
(name = column_name)
And
(columnproperty(id,name,'IsIdentity') = 1)
)
Then 'IDENTITY(' +
Cast(ident_seed(SO.name) As varchar) + ',' +
Cast(ident_incr(SO.name) As varchar) + ')'
Else ''
End
) + ' ' +
(
Case
When IS_NULLABLE = 'No'
Then 'NOT '
Else ''
End
) + 'NULL ' +
(
Case
When information_schema.columns.COLUMN_DEFAULT IS NOT NULL
Then 'DEFAULT ' + information_schema.columns.COLUMN_DEFAULT
ELse ''
End
) + ', '
From information_schema.columns
Where
(table_name = SO.name)
Order by ordinal_position
FOR XML PATH('')) o (list)
Inner Join information_schema.table_constraints As TC On (
(TC.Table_name = SO.Name)
AND
(TC.Constraint_Type = 'PRIMARY KEY')
And
(TC.TABLE_NAME = @vsTableName)
)
Cross Apply
(
Select '[' + Column_Name + '], '
From information_schema.key_column_usage As kcu
Where
(kcu.Constraint_Name = TC.Constraint_Name)
Order By ORDINAL_POSITION
FOR XML PATH('')
) As j (list)
Where
(xtype = 'U')
AND
(Name NOT IN ('dtproperties'))
Return @ScriptCommand
End
테이블의 스키마를 반환합니다 :
데이터가 필요한 경우 다음 쿼리를 사용할 수 있습니다.
select 'insert into tablename values('+yourcolumnanme+','+columnanme2.....+')' from tablename
스키마에만 관심이 있습니다. 데이터가 아닙니다. 권리 ? – TarasB
예, 우선 스키마를 가져오고 싶습니다. 데이터를 얻는 것도 또 다른 단계입니다. – maycil