注:此方法僅支援sql2005
最近需要把資料導成xml,不想通過程式設計實現,手工使用匯入匯出工具又覺得麻煩,想想還是寫sql語句執行的好,以後擴充套件也方便,但microsoft好像並沒有提供什麼sql語句可以直接匯出方法,用bcp匯出的都是文字、excel或其他什麼的,本來以為可以把查詢結果通過bcp匯出文字的形式,但經過n次試驗,匯出的xml不知道為什麼都會自動換行,一開啟就會報錯,百思不得其解,而且匯出的xml沒有乙個,這也是個麻煩事。
最關鍵的就是這兩個問題:1.如何使用xml不自動換行;2.如何增加乙個標籤;
use test
--建立乙個表
create table test_blan (x varchar(100), y varchar(100))
--插入資料
insert into test_blan values(...略...)
--建立乙個檢視用於增加標籤
create view as select 'root' l
--建立乙個表用於儲存生成的xml結果
create table tt (aa xml)
--定義乙個xml的變數
declare @x xml
--查詢生成xml結果並儲存到tt表中
set @x=( select iroot.l, idate.x,idata.y from test..test_log iroot, test..test_blan idata for xml auto)
insert tt values(@x)
--通過bcp將tt中的xml結果輸出
exec master..xp_cmdshell 'bcp test..tt out e:/123.xml -c -t -k'
--刪除表及檢視
drop table tt
drop view test_log
這樣匯出的xml就是個完整的檔案了
SQL 查詢結果為 XML
原始資料 1.auto模式 selectorderno,createdate,username,address fromwhir order orderinfo forxmlauto,xmlschema 結果 2.raw模式selectorderno,createdate,username,addr...
SQL 查詢結果為 XML
原始資料 1.auto模式 selectorderno,createdate,username,address fromwhir order orderinfo forxmlauto,xmlschema 結果 2.raw模式selectorderno,createdate,username,addr...
sql查詢結果集匯出Excel
t sql exec master.xp cmdshell bcp 庫名.dbo.表名out c temp.xls c q s servername u sa p 引數 s 是sql伺服器名 u是使用者 p是密碼 說明 還可以匯出文字檔案等多種格式 declare str varchar 600 s...