仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 867|回复: 8
打印 上一主题 下一主题

[学习教程] MYSQL编程:依据查询了局,天生XML文件

[复制链接]
只想知道 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:32:40 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
通过支付一定费用,客户可以得到优先的24/7支持,访问内容丰富的在线知识库和联系一个专门的技术负责经理。xml|天生xml/*
bcp不是外部或内部命令,也不是可运转的程序?
看看在C:ProgramFilesMicrosoftSQLServer80ToolsBinn内里有无bcp.exe这个文件
然后看看path内里加C:ProgramFilesMicrosoftSQLServer80ToolsBinn这个目次没有.
右键我的电脑--属性--初级--情况变量--在体系变量中找到path--编纂
在变量值的最初加上:
C:ProgramFilesMicrosoftSQLServer80ToolsBINN
*/

/**********************************************************************
存储历程:P_SaveXML
功效:天生XML文件
参数:表名
前往:指定目次的XML文件
挪用办法:传送两头表TB_TABLECOLUMN_T存在的表名
execP_ZehuaSavexmlWQ_STINFO_B,WQ_PHY_D,D:xx.xml
最初变动日期:2005-8-17
接洽体例:zlp@zehua.com.cn
备注:依据两头表天生切合尺度格局的XML文件
**********************************************************************/
/*
execP_ZehuaSavexmlWQ_STINFO_B,WQ_PHY_D,D:xx.xml
*/
go
createprocP_ZehuaSavexml
@TableCodeSvarchar(8000),
@fnamevarchar(1000)=c:        mp.xml--默许保留的XML文件地点
as
declare@sqlnvarchar(200),@sql1varchar(400)
declare@cntint,@Table_Namevarchar(20)
declare@iint,@TableCodevarchar(20)
declare@errint,@srcvarchar(255),@descvarchar(255)
createtable##t(renvarchar(4000))
insert##t
selectRe=<?xmlversion="1.0"encoding="gb2312"?>
unionallselect<ZehuaTableInfoXml>
set@i=charindex(,,@TableCodeS)
while@i>0
begin
set@TableCode=left(@TableCodeS,@i-1)
set@sql=
set@sql=Nselect@cnt=count(*),@Table_Name=max(Table_Name)from
set@sql=@sql+N(
set@sql=@sql+Nselecttop100percent*fromTB_TABLECOLUMN_Twhere
set@sql=@sql+NTABLE_CODE=+@TableCode+andCOLUMNS_ISKEY=√
set@sql=@sql+NorderbyCOLUMNS_SORT
set@sql=@sql+N)
set@sql=@sql+NA
execsp_executesql@sql,N@cntintoutput,@Table_Namevarchar(20)output,@cntoutput,@Table_Nameoutput--盘算主键的个数,表名
insert##t
select<+@TableCode+TABLE_NAME="+@Table_Name+"PK="+cast(@cntasvarchar)+">
unionall
selectspace(4)+<COLUMNSCOLUMNS_NAME="+cast(COLUMNS_NAMEasvarchar)+"
+space(8)+TABLE_CODE="+isnull(@TableCode,)+"
+space(8)+COLUMNS_VISIBLE="+isnull(COLUMNS_VISIBLE,)+"/>
fromTB_TABLECOLUMN_TwhereTABLE_CODE=+@TableCode+
unionallselect</+@TableCode+>
set@TableCodeS=right(@TableCodeS,len(@TableCodeS)-@i)
set@i=CHARINDEX(,,@TableCodeS)
end
iflen(@TableCodeS)>0
begin

set@sql=
set@sql=Nselect@cnt=count(*),@Table_Name=max(Table_Name)from
set@sql=@sql+N(
set@sql=@sql+Nselecttop100percent*fromTB_TABLECOLUMN_Twhere
set@sql=@sql+NTABLE_CODE=+@TableCodeS+andCOLUMNS_ISKEY=√
set@sql=@sql+NorderbyCOLUMNS_SORT
set@sql=@sql+N)
set@sql=@sql+NA
execsp_executesql@sql,N@cntintoutput,@Table_Namevarchar(20)output,@cntoutput,@Table_Nameoutput--盘算主键的个数,表名
insert##t
select<+@TableCodeS+TABLE_NAME="+@Table_Name+"PK="+cast(@cntasvarchar)+">
unionall
selectspace(4)+<COLUMNSCOLUMNS_NAME="+cast(COLUMNS_NAMEasvarchar)+"
+space(8)+TABLE_CODE="+isnull(@TableCodeS,)+"
+space(8)+COLUMNS_VISIBLE="+isnull(COLUMNS_VISIBLE,)+"/>
fromTB_TABLECOLUMN_TwhereTABLE_CODE=+@TableCodeS+
unionallselect</+@TableCodeS+>
unionallselect</ZehuaTableInfoXml>
end
exec(master..xp_cmdshellbcp##tout"+@fname+"/P""/c)
droptable##T

go

/*
测试情况:
Windows2000Server+SQL2000测试经由过程
*/
珍贵的资金可以用于其他业务的启动,诸如市场、广告或调研和开发等。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-16 07:40

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表