哪位高手帮忙一下,用存储过程怎么从一个表的一个text 字段里批量导出文件

[复制链接]
查看11 | 回复8 | 2007-10-20 08:38:44 | 显示全部楼层 |阅读模式
哪位高手帮忙一下,用存储过程怎么从一个表的一个text 字段里批量导出文件
比如有一个表 table1(id int ,content text,createdate)
将每一条记录中的content字段导出到文件里,文件名以createdate 中的年月日命名,还有oracle数据库的
回复

使用道具 举报

千问 | 2007-10-20 08:38:44 | 显示全部楼层
程序实现,思路如下:
读取一行,创建新文本,将该行TEXT插入,再读取下一行,接着插入另一文本。。。
回复

使用道具 举报

千问 | 2007-10-20 08:38:44 | 显示全部楼层
谢谢,主要是不知道用SQL语句怎么写,而且能提高效率,而用一般的程序就很简单了
回复

使用道具 举报

千问 | 2007-10-20 08:38:44 | 显示全部楼层
同一日期的记录导到一个文件?
回复

使用道具 举报

千问 | 2007-10-20 08:38:44 | 显示全部楼层
同一日期怎么处理?
文件名是否把id也考虑进来?
回复

使用道具 举报

千问 | 2007-10-20 08:38:44 | 显示全部楼层
同一日期导在1个文件

declare @outdate char(8)
declare @sqlcmd varchar(500)
set @sqlcmd=''
declaremycursor cursor for
select convert(char(8),createdate,112) from table1 group by convert(char(8),createdate,112)
OPEN mycursor
FETCH NEXT FROM mycursor into @outdate
WHILE @@FETCH_STATUS = 0
begin
select @outdate
set @sqlcmd='bcp "select content from test.dbo.table1 where convert(char(8),createdate,112)='''+@outdate+'''" queryout d:\'+@outdate+'.txt -c -q -S 127.0.0.1 -U sa -P ***'
select @sqlcmd
exec master.dbo.xp_cmdshell @sqlcmd
FETCH NEXT FROM mycursor into @outdate
end
CLOSE mycursor
DEALLOCATE mycursor
回复

使用道具 举报

千问 | 2007-10-20 08:38:44 | 显示全部楼层
谢谢楼上
回复

使用道具 举报

千问 | 2007-10-20 08:38:44 | 显示全部楼层
这样是可以的,但我发现用这种方法效率很低,而且生成文件很慢,还不如写程序执行
回复

使用道具 举报

千问 | 2007-10-20 08:38:44 | 显示全部楼层
游标的权衡一向如此
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行