熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> MySQL >> 正文

SQL表中數據按條件批量導出多個Excel文件

2013-11-23 21:06:19  來源: MySQL 

  SQL Server表中數據按條件批量導出為多個Excel文件是本文我們主要要介紹的內容在一次SQL Server數據庫的操作中需要將某個有數十萬行數據的表按類別導出為xls文件每個類別一個xls將數據表中的數據導出並保存為xls簡單用 SSIS或者查詢出來之後另存為都可以但是這個表中的分類有數百個如果一個個用SSIS或者查詢另存為的話工作量巨大前思後想想到了用 while循環查詢並用bcp導出的方法

  下面是相關代碼

   聲明需要的變量
declare @sql varchar()@TypeID int
確認第一個分類的ID
select @TypeID=min(TypeID) from t_TestTable
當存在滿足分類ID的記錄時進行處理
while exists(select from t_TestTable where TypeID=@TypeID)
begin
拼湊需要執行的語句
set @sql=bcp "select * from (select+列名+ AS 列名+列名+ AS 列名+列名+ AS 列名在xls文件中顯示列名
set @sql=@sql+ union all select 列名列名列名 from t_TestTable where TypeID=+cast(@TypeID as varchar())+)a" queryout "F:datafileTypeData+cast(@TypeID as varchar())+xls" c q S"ServerName" U"sa" P"SAPASSWORD" d"DBName"查詢滿足條件的記錄並保存到xls文件中
使用xp_cmdshell系統存儲過程執行拼湊好的語句(需要使用高級選項開關預先開啟cmdshell組件)
exec masterxp_cmdshell @sql
獲得下一個分類的ID(分類ID是不連續的)
select @TypeID=isnull(min(TypeID)@TypeID+) from t_TestTable where TypeID>=@TypeID+
end 以上就是SQL Server表中數據按條件批量導出為多個Excel文件的實現方法本文就介紹到這裡了希望本次的介紹能夠對您有所收獲!


From:http://tw.wingwit.com/Article/program/MySQL/201311/29581.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.