create proc my_search @beg_id int , @end_id int as
declare @names varchar(200), @bcp varchar(8000) if(@beg_id<@end_id) begin
while @beg_id<=@end_id begin select @names=subject from mytb where tid=@beg_id set @bcp = 'bcp "SELECT content FROM 数据库名.dbo.mytb where tid = ' + rtrim(@beg_id) + '" queryout "E:\11\' + rtrim(@names) + '.txt" -c -U"sa" -P"sa"'
EXEC master..xp_cmdshell @bcp set @beg_id=@beg_id+1 end end
==================加路径后过程==============
--exec my_search 20,21,'E:\11'
ALTER proc my_search @beg_id int , @end_id int , @path varchar(200) as
if(right(@path,1)='\') begin set @path=left(@path,len(@path)-1) end
declare @names varchar(200), @bcp varchar(8000) if(@beg_id<@end_id) begin
while @beg_id<=@end_id begin select @names=subject from mytb where tid=@beg_id set @bcp = 'bcp "SELECT content FROM cdma.dbo.mytb where tid = ' + rtrim(@beg_id) + '" queryout "'+@path+'\' + rtrim(@names) + '.txt" -c -U"sa" -P"sa"'
EXEC master..xp_cmdshell @bcp set @beg_id=@beg_id+1 end end