2006-03-07

將MSSQL查詢的結果存到文字檔中

之前為了方便建立資料庫的預設資料,


所以用SQL的語法直接產生insert的指令,


例如 :


select 'insert into tableB values(''' + field1 + ''',''' + field2 + ''',''' + field3 + ''')' as expr from tableA


這樣所產生的結果會像是


insert into tableB values('a1','b1','c1')


insert into tableB values('a2','b2','c3')


insert into tableB values('a3','b3','c3')


然後只要把結果複製貼到文字檔中,


以後要建立預設資料時就可以直接用這個SQL script


不過,當資料筆數很多時,將結果複製貼上就有點麻煩了,


所以就想找一下MSSQL中有沒有像MYSQL那樣將結果直接存成檔案的指令,


果然還是有的,只是並不是直接在SQL的指令模式下執行,


而是要透過BCP(Bulk Copy Program),


指令如下 :


bcp "select 'insert into tableB values(''' + field1 + ''',''' + field2 + ''',''' + field3 + ''')' as expr from DatabaseName.dbo.tableA" queryout d:\ScriptName.txt -U 資料庫帳號 -P 資料庫密碼 -c


其實,如果只要用bcp就可以做資料匯出匯入的動作,


不需要再用語法產生insert into的指令.


關於BCP的相關介紹可以看下面這篇文章


Utilize BCP with SQL Server 2000

張貼留言

一頁式詐騙網站進階了嗎?

之前facebook常常出現一頁式購物詐騙. 難道現在已經進級變成網站式的了嗎? 無意見看到"Ray Ban網站"在大特價. 連到網站上看,還真的每款眼鏡都下殺到一折以下, 買三支還免運. 而且網站的功能似乎還很完整. 這麼好康的事,我當然不能放過 要好好研究...