alter PROC sp_writeall ( @dirpath varchar(1024),@filetype varchar(255) = '.sql' )
as
declare @sql varchar(4000),@sql2 varchar(4000) ='' ,@count int ;
set @sql = 'dir '+ @dirpath + ' /b/a ' ;
create table #temp ( dirfile nvarchar(255)) ;
insert into #temp
exec xp_cmdshell @sql ;
select @count = COUNT(1) from #temp
where dirfile like '%' + @filetype ;
select @sql2 = @sql2 + ' exec xp_cmdshell ' + ''' type ' + @dirpath + '\' + dirfile +' >> '+ @dirpath + '\' + CAST( @count as varchar)+'_all.sql' +''''+ char(13) + char(10)
from #temp
where dirfile like '%' + @filetype ;
print @sql2;
exec ( @sql2 ) ;
drop table #temp;
MSSQL分享:sp_writeall 将文本文件内容全部写入某一文件
最新推荐文章于 2024-06-01 21:38:16 发布
本文介绍了一个SQL批量写入操作的存储过程,通过使用dir命令和xp_cmdshell存储过程,实现目录下所有符合类型文件的批量写入。重点讨论了如何在SQL Server环境中高效地进行文件操作。
770

被折叠的 条评论
为什么被折叠?



