一个ORACLE数据库表,没有主键,当插入一条或多条记录成功后
如何判断新插入的记录?有没有相关的SQL语句可以实现比如插入一条insert into table values('a','b','c','d','ed')成功后,如何从数据库判断新插入的这一条内容
如何判断新插入的记录?有没有相关的SQL语句可以实现比如插入一条insert into table values('a','b','c','d','ed')成功后,如何从数据库判断新插入的这一条内容
解决方案 »
- goldengate报错。。
- 菜鸟提问 TNS-12560错误 请帮忙看下
- 请教将SQLSERVER 转换成ORACLE可以运行的SQL
- 在where里写的 “表.列名 is not null 与 表.列名!=null”有什么区别?
- 有空的进来帮帮我!!!!!!!!!!
- 请教!如何删除单独组件?
- http://localhost:5560/isqlplus/都能出来,http://localhost:5500/em/却显示找不到网页。怎么回事???
- oracle中怎样修改表的列名而不破坏数据?
- 关于oracle卸载的问题
- 急!!求助!!oracle11g rac 总是有Fatal NI connect error 12170 怎么解决
- 请推荐好书
- oracle 关于随机抽样
aa bb
cc dd
我执行INSERT INTO USER VALUES('AA','DD') ,该表无任何主键,不管数据是否重复
执行以后增加了一条记录
USERNAME ROLE
aa bb
cc dd
AA DD
那么我如何知道我新插入的这条数据的内容呢?用SQL语句
create table test (a number,b number) rowdependencies;
insert into test values(2,2);
commit;
insert into test values(3,3);
commit;
insert into test values(1,1);
commit;
select ora_rowscn ,a,b from test;ora_rowscn最大的就是你最后一次插入的记录!
这条可行 主要是用的Oracle的锁机制进行判断的
audit insert on 此表的用户.table whenever successful;
这个是按照插入顺序排序
select * from table where rowid = (select max(rowid) from table)
这个是找到最新一条插入记录。。
楼主还可以给表增加一个字段,insert_date每次插入的时候将sysdate插入,这样就不怕找不到最新的记录了。