请任何人知道如何将我的数据库结构作为 xml
我有数据库:exdb
我有表:extbl1
我有专栏:excol1
我有专栏:excol2
我有专栏:excol3
& 有专栏:excol4
....等等
我怎样才能得到下面的结构
<DataBase DataBaseName="exdb">
<Table TableName="extbl1">
<Column ColumnName="excol1"/>
<Column ColumnName="excol2"/>
<Column ColumnName="excol3"/>
<Column ColumnName="excol4"/>
</Table>
<Table TableName="extb2">
<Column ColumnName="excol1"/>
<Column ColumnName="excol2"/>
<Column ColumnName="excol3"/>
<Column ColumnName="excol4"/>
</Table>
</DataBase>
最佳答案
使用 for xml
和子查询非常简单:
select
'exdb' [@DataBaseName],
(select t.table_name [@TableName],
(select c.COLUMN_NAME [@ColumnName]
from INFORMATION_SCHEMA.COLUMNS c
where c.TABLE_NAME = t.TABLE_NAME
for xml path('Column'), type)
from INFORMATION_SCHEMA.TABLES t
for xml path('Table'), type)
for xml path('DataBase')
关于sql - 如何使用一个 sql 查询将任何数据库结构转换为 xml?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22081566/