国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > SQL Server > 正文

SQL Server根據查詢結果,生成XML文件

2024-08-31 00:48:36
字體:
來源:轉載
供稿:網友
*

'bcp' 不是內部或外部命令,也不是可運行的程序?

看看在c:/program files/microsoft sql server/80/tools/binn里面有沒有bcp.exe這個文件
然后看看path里面加c:/program files/microsoft sql server/80/tools/binn這個目錄沒有.

右鍵我的電腦--屬性--高級--環境變量--在系統變量中找到path--編輯

在變量值的最后加上:

c:/program files/microsoft sql server/80/tools/binn

*/


/**********************************************************************
存儲過程: p_savexml
功能:      生成xml文件
參數:      表名
返回:      指定目錄的xml文件
調用方法: 傳遞中間表tb_tablecolumn_t存在的表名
                    exec p_zehuasavexml 'wq_stinfo_b,wq_phy_d','d:/xx.xml'
最后更改日期: 2005-8-17  
聯系方式:    [email protected]
備注:  根據中間表生成符合標準格式的xml文件
www.knowsky.com
**********************************************************************/

/*
 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='<?xml version="1.0" encoding="gb2312"?>'
union all select '<zehuatableinfoxml>'
set @i=charindex(',',@tablecodes)
while @i>0
begin
 set  @tablecode=left(@tablecodes,@i-1) 
 set @sql=''
 set @sql=n'select @cnt=count(*),@table_name=max(table_name) from '
 set @[email protected]+n'('
 set @[email protected]+n'select top 100 percent * from tb_tablecolumn_t where '
 set @[email protected]+n'table_code='''[email protected]+''' and columns_iskey=''√'' '
 set @[email protected]+n'order by columns_sort '
 set @[email protected]+n')'
 set @[email protected]+n'a'
 exec sp_executesql @sql,n'@cnt 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)+'<columns columns_name="'+cast(columns_name as varchar)+'"
 '+space(8)+'table_code="'+isnull(@tablecode,'')+'"
 '+space(8)+'columns_visible="'+isnull(columns_visible,'')+'"/>'
 from tb_tablecolumn_t where table_code=''[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=n'select @cnt=count(*),@table_name=max(table_name) from '
 set @[email protected]+n'('
 set @[email protected]+n'select top 100 percent * from tb_tablecolumn_t where '
 set @[email protected]+n'table_code='''[email protected]+''' and columns_iskey=''√'' '
 set @[email protected]+n'order by columns_sort '
 set @[email protected]+n')'
 set @[email protected]+n'a'
 exec sp_executesql @sql,n'@cnt 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)+'<columns columns_name="'+cast(columns_name as varchar)+'"
 '+space(8)+'table_code="'+isnull(@tablecodes,'')+'"
 '+space(8)+'columns_visible="'+isnull(columns_visible,'')+'"/>'
 from tb_tablecolumn_t where table_code=''[email protected]+''
 union all select '</'[email protected]+'>'
 union all select '</zehuatableinfoxml>'
end

exec('master..xp_cmdshell ''bcp ##t out "'[email protected]+'" /p"" /c''')
drop table ##t


go


/*

測試環境:

windows 2000 server + sql 2000測試通過

*/

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 保康县| 舒兰市| 留坝县| 施秉县| 关岭| 陆良县| 新郑市| 平谷区| 会同县| 安义县| 大邑县| 阳江市| 龙门县| 贡嘎县| 平湖市| 内黄县| 灵山县| 沂源县| 侯马市| 靖边县| 常山县| 靖州| 洛扎县| 印江| 靖宇县| 宜昌市| 武山县| 建瓯市| 东安县| 腾冲县| 望都县| 资溪县| 临泽县| 彭水| 建阳市| 昌图县| 华宁县| 阳曲县| 永兴县| 满洲里市| 仁怀市|