oracle中查询新插入的数据

oracle中查询新插入的数据,第1张

如果你插入的表里面没有记录插入时间的字段,用简单的sql语句无法实现你的 *** 作。你可以在表中新增一个 data 类型的字段(比如叫 idate),他的 default 值是 sysdate, 这样插入时间就自动记录下来了。

查询语句:(假设插入时间是 2010年1月1日

select * from 表A where idate >= to_date('2010-01-01','YYYY-MM-DD')

一、创建一个表

create table A

(

TABLE_NAME VARCHAR2(200),

COUNT_NUM NUMBER

)

二、创建一个存储过程

create or replace procedure tj_data as

-- 当前存储过程用到的变量

v_tableName VARCHAR2(100)

v_sql varchar2(200)

v_count integer

-- 获取当前数据库中的所有表

CURSOR TABLE_LOOP IS SELECT Table_name FROM User_tables

begin

-- 打开游标

delete from A

OPEN TABLE_LOOP

LOOP

FETCH TABLE_LOOP INTO v_tableName

EXIT WHEN TABLE_LOOP %NOTFOUND

v_sql:= 'select count(1) from '||v_tableName

execute immediate v_sql into v_count

insert into a values (v_tableName,v_count)

END LOOP

CLOSE TABLE_LOOP

end

三、查出表数据不同的信息

select * from (

select t.table_name,t.num_rows from dba_tab_statistics t where t.owner='表空间' and table_name !='A' and t.table_name in (

SELECT Table_name FROM User_tables)) B,A where a.table_name=b.table_name

可以在表结构中增加一列,把该列设置为缺省当前系统时间(sysdate)的值。这样每次插入和修改记录时,在这个列中都自动存放插入或修改的时间,你随时都可以查看记录的插入和修改的时间。例:alter table 表 add 列 date default sysdate


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11964414.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存