如何从sql server创建以下xml文件?
<Database>
<Tables>
<Table Name="Student"> <Files> <File FileName="Student_Info.txt" NumberOfRows="44" /> </Files>
<Columns>
<Column Name="Name" DataType="nvarchar" Length="50" />
<Column Name="Department" DataType="nvarchar" Length="30" />
<Column Name="Phone" DataType="nvarchar" Length="20" />
</Columns> </Table>
<Table Name="Teacher">
<Files>
<File FileName="Teacher.txt" NumberOfRows="33" />
</Files>
<Columns>
<Column Name="TID" DataType="ANSI INTEGER" IsPrimaryKey="true" />
<Column Name="TName" DataType="ANSI CHARACTER VARYING" Length="50" />
</Columns>
</Table>
</Database>
这里我想创建一个数据库,其中所有表数据将保存在txt文件中,行数将每次都改变。
答案 0 :(得分:0)
此查询将为您提供当前数据库格式输出,就像您拥有的那样
select
(
select TABLE_NAME as '@Name' ,
( select COLUMN_NAME as '@Name',
Data_type as '@DataType',
character_octet_length as '@Length'
FROM information_schema.COLUMNS C
WHERE IT.TABLE_NAME = C.TABLE_NAME
FOR XML PATH ('Column'), TYPE
),
(select
( SELECT distinct
d.physical_name as '@FileName',
i.rowcnt as '@NumberofRows'
FROM sys.sysindexes i,
sys.filegroups f,
sys.database_files d,
sys.data_spaces s
WHERE OBJECTPROPERTY(i.id, 'IsUserTable') = 1
AND f.data_space_id = i.groupid
AND f.data_space_id = d.data_space_id
AND f.data_space_id = s.data_space_id
AND IT.TABLE_NAME = OBJECT_NAME(i.id)
FOR XML path ('File'), Type
)
FOR XML PATH ('Files'), Type
)
from INFORMATION_SCHEMA.TABLES IT
for xml path ('Table'), TYPE
)
for xml path ('Databases')