友情提示:本文共有 1239 个字,阅读大概需要 3 分钟。
SQL Server是一种关系型数据库管理系统,支持使用SQL语言进行数据查询和处理。在SQL Server中,可以通过查询结果生成XML文件,这样可以方便地将数据库中的数据以XML格式进行存储和传输。生成XML文件可以通过使用SQL Server的FOR XML语句来实现。这个功能可以帮助用户将数据库中的数据以一种结构化的格式导出,用于数据交换和存储。通过SQL Server根据查询结果生成XML文件,用户可以更灵活地处理数据,并与其他系统进行集成和交互。
SQL Server根据查询结果,生成XML文件,SQL Server根据查询结果,生成XML文件
/*
cp 不是内部或外部命令,也不是可运行的程序?
看看在C:Program FilesMicrosoftSQLServer80ToolsBinn里面有没有这个文件
然后看看path里面加C:Program FilesMicrosoft SQL Server80ToolsBinn这个目录没有.
右键我的电脑--属性--高级--环境变量--在系统变量中找到path--编辑
在变量值的最后加上:
C:Program FilesMicrosoft SQL Server80ToolsBINN
*/
/**********************************************************************
存储过程: P_SaveXML
功能:生成XML文件
参数:表名
返回:指定目录的XML文件
调用方法: 传递中间表TB_TABLECOLUMN_T存在的表名
exec P_ZehuaSavexml WQ_STINFO_B,WQ_PHY_D,D:xx.xml
最后更改日期: -8-17
联系方式: [email protected]
备注: 根据中间表生成符合标准格式的XML文件
**********************************************************************/
/*
exec P_ZehuaSavexml WQ_STINFO_B,WQ_PHY_D,D:xx.xml
*/
go
create proc P_ZehuaSavexml
@TableCodeS varchar(8000),
@fname varchar(1000)="c:tmp.xml" --默认保存的XML文件地址
as
declare @sql nvarchar(200),@sql1 varchar(400)
declare @cnt int,@Table_Name varchar(20)
declare @i int,@TableCode varchar(20)
declare @err int,@src varchar(255),@desc varchar(255)
create table ##t(re nvarchar(4000))
insert ##t
select Re="
union all select
set @i=charindex(,,@TableCodeS)
while @i0
begin
set @TableCode=left(@TableCodeS,@i-1)
set @sql=""
set @sql=Nselect @cnt=count(*),@Table_Name=max(Table_Name) from
set @[email protected]+N(
set @[email protected]+Nselect top 100 percent * from TB_TABLECOLUMN_T where
set @[email protected][email protected]+ and COLUMNS_ISKEY=""√
set @[email protected]+Norder by COLUMNS_SORT
set @[email protected]+N)
set @[email protected]+NA
exec sp_executesql @sql,[email protected]int output,@Table_Name varchar(20) output,@cnt output,@Table_Name output --计算主键的个数,表名
insert ##t
select <[email protected]+ TABLE_NAME="[email protected]_Name+" PK="+cast(@cnt as varchar)+"
union all
select space(4)+
+space(8)+TABLE_CODE="+isnull(@TableCode,)+"
+space(8)+COLUMNS_VISIBLE="+isnull(COLUMNS_VISIBLE,)+"/
from TB_TABLECOLUMN_T where[email protected]+
union all select <[email protected]+
set @TableCodeS=right(@TableCodeS,len(@TableCodeS)[email protected])
set @i=CHARINDEX(,,@TableCodeS)
end
if len(@TableCodeS)0
begin
set @sql=""
set @sql=Nselect @cnt=count(*),@Table_Name=max(Table_Name) from
set @[email protected]+N(
set @[email protected]+Nselect top 100 percent * from TB_TABLECOLUMN_T where
set @[email protected][email protected]+ and COLUMNS_ISKEY=""√
set @[email protected]+Norder by COLUMNS_SORT
set @[email protected]+N)
set @[email protected]+NA
exec sp_executesql @sql,[email protected]int output,@Table_Name varchar(20) output,@cnt output,@Table_Name output --计算主键的个数,表名
insert ##t
select <[email protected]+ TABLE_NAME="[email protected]_Name+" PK="+cast(@cnt as varchar)+"
union all
select space(4)+
+space(8)+TABLE_CODE="+isnull(@TableCodeS,)+"
+space(8)+COLUMNS_VISIBLE="+isnull(COLUMNS_VISIBLE,)+"/
from TB_TABLECOLUMN_T where[email protected]+
union all select <[email protected]+
union all select
end
<
本文如果对你有帮助,请点赞收藏《使用SQL Server查询结果生成XML文件的方法》,同时在此感谢原作者。