导航:首页 > 数据处理 > 如何通过数据库提取文件

如何通过数据库提取文件

发布时间:2023-06-02 20:53:46

A. 怎么能把数据库里的数据提取出来。

1、查询数据库(test)中的所有表名的方法:

SELECT name
FROM [test]..sysobjects where xtype='U'
********
补充:
如果有的表不存在【时间】那就用下面的语句直接把含有【时间】列的表名找到:
SELECT d.name
FROM [test]..syscolumns a
inner join [test]..sysobjects d on a.id=d.id and d.xtype='U' and a.name='时间'
**********

2、遍历这个表名取出数据插入到另外的数据库中(SqlServer中的遍历方法我不是很清楚,给你提供个思路,oracle的话我就能把程序写出来了O(∩_∩)O~)。

如:遍历结果存储到数据库test2中
insert into [test2]..遍历出的表名 select * from 遍历出的表名 where datediff(day,'2009-08-07',时间)>0;

重复上面的sql语句指导讲数据库test中的表名完全遍历完为止。

*************************************************************
补充:我试验了一下下面把实验代码给你(建一个存储过程)
create proc test as
--定义游标变量
declare cur1 cursor for
SELECT d.name
FROM [test]..syscolumns a
inner join [test]..sysobjects d on a.id=d.id and d.xtype='U' and a.name='时间'
--定义临时变量
declare @tmp varchar(1000)
--定义sql字符串
declare @strsql varchar(4000)
--打开游标
open cur1
--读取第一条数据,也就是第一个表名
fetch next from cur1 into @tmp
--是读完
while(@@fetch_status = 0)
begin
--连接sql文
set @strsql='insert into [test2]..'+@tmp++' select * from '+@tmp+' where datediff(day,'+char(39)+'2009-08-07'+char(39)+',时间)>0'
--执行这个sql
exec(@strsql)
--读取下一条数据
fetch next from cur1 into @tmp
end
--关闭游标
close cur1
--摧毁游标所占资源
deallocate cur1
*************************************************

---
以上,希望对你有所帮助。

阅读全文

与如何通过数据库提取文件相关的资料

热点内容
临沂公司代理记账多少钱 浏览:967
总线技术媒介是什么 浏览:300
如何查询东港房产备案信息 浏览:445
怀特数据是多少 浏览:510
信达证券升级后如何更改信息 浏览:971
什么数据存放到流程引擎中 浏览:354
薯仔粉代理怎么选 浏览:203
电气设备发现缺陷信息录入哪里 浏览:325
淘宝交易异响怎么回事 浏览:361
邵东二手物品交易市场在哪里 浏览:997
怎么查身份证使用信息 浏览:100
怎么样去微商代理商 浏览:549
一梦江湖怎么复制脸的数据 浏览:122
淘宝红包交易怎么投诉卖家 浏览:857
哪里学习人工智能技术 浏览:895
大数据采集哪个好 浏览:853
镇平石佛寺玉器批发市场在什么路 浏览:168
泸州职业技术学院怎么拿毕业证 浏览:633
广州市废旧市场在哪里 浏览:997
分离的数据库怎么恢复 浏览:973