SQL如何分批导出数据?
数据格式为
A B C
1222 张三 30000
1223 李四 45000
1222 王五 12000
.
.
.
1688 毛久 21533
要把A列相同的导出到一个表EXCEL
比如导出所有A列为1222的数据,表名为1222
一共有几百个表一个个导出不现实,所以只有请教各位高手了。
[解决办法]
declare @path sysname;set @path='D:\'; --此为服务器的路径DECLARE @A sysname;DECLARE @cmd nvarchar(4000);DECLARE cur cursor FOR SELECT DISTINCT A FROM [1222];OPEN cur;FETCH NEXT FROM cur INTO @A;WHILE @@FETCH_STATUS=0 BEGIN SET @cmd = N'BCP "SELECT * FROM 数据库名.dbo.[1222] WHERE A=''' + @A + '''"'; SET @cmd = @cmd+' queryout ' + @path+@A+'.xls -c -Usa -Ppassword'; EXEC xp_cmdshell @cmd; FETCH NEXT FROM cur INTO @A; ENDCLOSE cur;DEALLOCATE cur;