262.生成XMl结构

--表结构生成XML文档

create table ##tb(re varchar(8000))
insert into ##tb 
select '
<数据库>'+db_name()

insert into ##tb
select case b.colid when 1 then '<表名>'+a.name else '	' end+'
	<字段 名称="'+b.name+'"'+case when g.value is null then ''
		else ' 说明="'+cast(g.value as varchar(8000))+'"' end+'/>'
	+case b.colid when (select max(colid) from syscolumns where id=a.id)
		then '
' else '' end
from sysobjects a 
	join syscolumns b on a.id=b.id
	left join sysproperties g on b.id=g.id and b.colid=g.smallid  
where a.xtype='U'
order by a.name,b.colid

insert into ##tb values('')

--生成 c:\a.xml
exec master..xp_cmdshell 'bcp ##tb out c:\a.xml /c'
drop table ##tb

你可能感兴趣的:(SQL,Server,SQL,Server,语句实现)