1. 程式人生 > >SQL Server根據查詢結果,生成XML檔案

SQL Server根據查詢結果,生成XML檔案

/*

'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.389hack.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測試通過

*/

相關推薦

SQL Server根據查詢結果,生成XML檔案

/* 'bcp' 不是內部或外部命令,也不是可執行的程式? 看看在C:/Program Files/Microsoft SQL Server/80/Tools/Binn裡面有沒有bcp.exe這個檔案然後看看path裡面加C:/Program Files/Microsoft SQL Server/80/Too

SQL SERVER 根據日期自動生成流水號

----函式中不能使用getdate()函式 ----建立得到當前日期的檢視CREATE VIEW v_GetDateASSELECT nowdate=CONVERT(nvarchar(50),GETDATE(),112)--自動生成訂單編號,長度為14,前8位為年月日,後6

SQL Server根據表或視圖批量生成插入語句並BCP導出成文本

lower row 創建 index .sql temp length and 空格 --聲明變量 DECLARE @TableName VARCHAR(100),@RunStr VARCHAR(MAX),@RunRC VARCHAR(MAX),@FinalRun VA

SQL Server 根據樹狀結構表生成以/號分割的路由字串

很多情況下,我們有必要把樹形結構進行資料梳理。比如,要方便的過濾出一個父節點下的所有子節點等等。。。 這個時候,我們可以生成一個路徑表字符串,在應用時只需要對該字串進行索引即可達成目的。 目標:按圖示的部門結構樹,獲取本身的完整路徑字串。比如,前道工序部門,其部門程式碼為PDTE,上級部門為PD生產部,按

SQL Server根據資料庫表,自動生成insert語句,批量新增

實際工作中,兩個資料庫不在同一臺伺服器上,又需要複製資料庫表時,可以在需要複製的資料庫中建立下面的儲存過程。 CREATE PROCEDURE [dbo].[OutputData] @tablename sysname, @

如何讀取xml檔案根據xml節點屬性查詢並輸出xml檔案

主要是應用SimpleXML和遞迴函式來根據key值來查詢,並將結果以xml格式輸出。 <?php header("Content-type: text/xml"); //以xml格式輸出檔案 @$key=$_GET['key']; $find=false; //echo $key."<

SQL Server基礎(四)SQL Server查詢檔案Query.sql的儲存及再次開啟:儲存到磁碟後,下次可以開啟磁碟的查詢檔案Query.sql,繼續使用。

參考: https://jingyan.baidu.com/article/4d58d5413f00b99dd4e9c0fe.html https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&rsv_idx=1&tn=bai

SQL Server 通過SQL語句將查詢結果集拼接成字串

首先,我們要了解一下兩個SQL語法 1. FOR XML PATH FOR XML PATH 可以將查詢結果根據行輸出成XML各式 SELECT USER_ID FROM test FOR XML PATH 表結構: 執行結果: <row>

hibernate將sql或hql查詢結果集對映為實體類 不需要對映檔案

   感謝glamey兄弟的文章,正好解決了當前遇到的問題。原文連結如下:http://glamey.iteye.com/blog/721019        假設我們現在有一個DTO,其屬性包括兩張表的屬性,我們現在需要將sql語句查詢得到的內容轉為一個DTO物件,其解決

根據TR069資料模型xml檔案生成用於XACS中可用於匯入的指令碼

#! /usr/bin/env python #coding=utf-8 ''' 本指令碼用於將xml格式資料模型轉換成可用於xacs匯入格式的檔案 Python 版本 2.7 lxml https://pypi.python.org/pypi/lxml/3.2.5 該指

根據javaBean生成xml檔案

<fontsize="4"face="宋體">package com.xidian.wq.imaopay.util;import java.io.StringReader; import java.io.StringWriter;import java.util.ArrayList;import

Sql Server查詢存儲過程的修改時間

lai 名稱 lec code str name class 指定 number 1、按最近修改排序所有存儲過程 SELECT [name], [create_date], [modify_date] FROM [sys].[objects] WHERE [type

SQL Server查詢填充DataSet時報500內部錯誤的解決辦法

and 但是 itl bsp 出錯 子查詢 企業 sql 數據 運行環境為Visual Studio 2010,數據庫為SQL Server 2008。 執行下面SQL語句 SELECT SubsiteId, SubsiteTitle, count(CollectionI

sql server 根據身份證號計算出生日期和年齡的存儲過程

ttl 實現 分享 mst () 需要 poc getdate mtr 我這邊有一個業務,需要客戶填寫身份證號,自動計算他的出生日期和年齡 在sql中,具體的存儲過程實現是這樣的: /********************************************

sql server 分組查詢結合日期模糊查詢

.html 分組查詢 group lan 字符 max tar getdate ref 分組查詢: https://www.cnblogs.com/netserver/p/4518995.html 日期格式化格式: http://blog.csdn.net/qq_16769

一次快速改寫 SQL Server 高效查詢的範例

高效 server inner ID ble 測試 tle blog isp 最近線上系統突然出現匯出資料超過 10 筆時,查詢逾時的狀況,在仔細查找之後。 發現了問題原因,透過應用端與數據端兩邊同時調整,將查詢的效率提昇了約數百倍以上 首先,原本應用端的商務邏輯為每一分頁

PowerDesigner逆向工程,從SQL Server數據庫生成Physical Model -----數據源方式

eve next mod 數據庫 design 逆向 圖片 工程 database 1.File-Reverse Engineer-Database 2.DBMS選擇SQL Server 3. 4. 5. 6. 7. 8

SQL SERVER查詢參數為空(null)時默認查詢所有的實現

字符型 pub 篩選條件 sql 註意 exec ltr lis 引號 方法1:當出版社篩選條件為null,該如何寫SQL呢? 1 DECLARE @publishers VARCHAR(50);2 SELECT * FROM dbo.Book WHERE Publishe

sql 多表查詢結果驗證

插入數據 create reat sql語句 ont creat 卡爾 nbsp 總結 1.笛卡爾積 定義: 設A,B為集合,用A中元素為第一元素,B中元素為第二元素構成的有序對,所有這樣的有序對組成的集合 ,叫做A與B的笛卡爾積,記作AxB. 上面有一個很關鍵的詞為“有序

後端根據查詢條件生成excel文件返回給前端,vue進行下載

win urn his rim ech spa href col abi 一、HTML代碼 <el-col :xs="2" :md="2" :sm="3"> <el-button type="primary" style="width:100%;