0
전체 데이터베이스 스키마를 XML 파일로 내보내고 싶습니다. 거기에 필요한 정보.데이터베이스 스키마를 XML 파일로 내보내기
- 테이블 - 열, 데이터 타입, FK, PK,
- 뷰 - 인수 열 및 데이터 유형을 리턴 - 열
- 기능 및 저장 프로 시저 리턴.
Google 등에서 아무것도 찾을 수 없습니다. 비슷한 문제에 직면 한 사람이 있습니까?
전체 데이터베이스 스키마를 XML 파일로 내보내고 싶습니다. 거기에 필요한 정보.데이터베이스 스키마를 XML 파일로 내보내기
Google 등에서 아무것도 찾을 수 없습니다. 비슷한 문제에 직면 한 사람이 있습니까?
이 쿼리함으로써 당신은 테이블과 뷰를 얻을 수 있습니다 :
SELECT TABLE_NAME AS '@Name', CASE WHEN TABLE_TYPE = 'BASE TABLE' THEN 'Table' ELSE 'View' END AS '@Type',
(
SELECT Column_Name as '@Name',
DATA_TYPE as '@DataType',
case data_type
when 'nvarchar'
then CHARACTER_MAXIMUM_LENGTH
when 'varchar'
then CHARACTER_MAXIMUM_LENGTH
else null
end as '@Length',
IS_NULLABLE AS '@IsNullable',
COLUMNPROPERTY(OBJECT_ID(TABLE_NAME), COLUMN_NAME, 'IsIdentity') AS '@IsIdentity',
(SELECT tc.CONSTRAINT_TYPE FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS tc
INNER JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE cu ON tc.CONSTRAINT_NAME = cu.CONSTRAINT_NAME
WHERE tc.TABLE_NAME = INFORMATION_SCHEMA.COLUMNS.TABLE_NAME AND cu.COLUMN_NAME = INFORMATION_SCHEMA.COLUMNS.Column_Name) AS '@Constraint'
FROM INFORMATION_SCHEMA.COLUMNS
where INFORMATION_SCHEMA.COLUMNS.TABLE_NAME =
INFORMATION_SCHEMA.TABLES.TABLE_NAME
order by INFORMATION_SCHEMA.COLUMNS.ORDINAL_POSITION
For XML PATH ('Column'), type
)
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA='dbo'
ORDER BY TABLE_NAME ASC
For XML PATH ('Table'),Root('Tables')
이를 SPS 및 FNS을 위해.
SELECT
SPECIFIC_SCHEMA AS '@ObjectSchema'
,ROUTINE_NAME AS '@ObjectName'
,ROUTINE_TYPE AS '@ObjectType'
,ROUTINE_DEFINITION AS '@TEXT'
FROM INFORMATION_SCHEMA.ROUTINES
WHERE (ROUTINE_TYPE = 'function' OR ROUTINE_TYPE = 'procedure')
For XML PATH ('Object') , TYPE, ROOT('Objects')
희망이 도움이 될 것입니다.
이 모든 것을 스크립트로 작성한 다음 xml로 변환 할 수 있습니까? 지금까지 뭐 해봤 어? – NickyvV
나는 SQL이 너무 좋지 않다. 지금까지 테이블로 어떻게 할 수 있는지 발견했지만 뷰, 함수 및 SP도 필요합니다. –