逐記錄匯出text ntext字段值為文字檔案

2021-04-14 11:29:20 字數 1229 閱讀 9312

--*/

--測試資料

create table tb(id varchar(50) primary key,detail text)

insert tb select 'aaa','11111'

union all select 'bbb','43424'

union all select 'ccc','324234'

/*--處理要求

把上述表中的detail欄位匯出為文字檔案,要求每條記錄乙個檔案,檔名為id+.txt

即上述表中的資料要求匯出為 aaa.txt,bbb.txt,ccc.txt

--*/

go--處理的儲存過程

create proc p_export

@path nvarchar(1000)  --匯出的文字檔案儲存的目錄

asdeclare @s nvarchar(4000)

if isnull(@path,'')='' set @path='c:/'

else if right(@path,1)<>'/' set @path=@path+'/'

--用游標構建每條記錄的bcp匯出語句,bcp的語法參考sql聯機幫助

declare tb cursor local

forselect 'bcp "select detail from '

+quotename(db_name())

+'..tb where id='

+quotename(id,n'''')

+'" queryout "'+@path

+id+'.txt" /t /w'

from tb

open tb

fetch tb into @s

while @@fetch_status=0

begin

--呼叫xp_cmdshell儲存過程執行bcp進行匯出處理

exec master..xp_cmdshell @s,no_output

fetch tb into @s

endclose tb

deallocate tb

go--呼叫

exec p_export 'c:/'

go--刪除測試

逐記錄匯出text ntext字段值為文字檔案

測試資料 create table tb id varchar 50 primary key,detail text insert tb select aaa 11111 union all select bbb 43424 union all select ccc 324234 處理要求 把上述表...

逐記錄匯出text ntext字段值為文字檔案

測試資料createtabletb idvarchar 50 primarykey,detail text inserttbselect aaa 11111 unionallselect bbb 43424 unionallselect ccc 324234 處理要求 把上述表中的detail欄位匯...

逐記錄匯出text ntext字段值為文字檔案

測試資料 create table tb id varchar 50 primary key,detail text insert tb select aaa 11111 union all select bbb 43424 union all select ccc 324234 處理要求 把上述表...