oracle取得最后插入的一条数据

问题描述

往数据库里插入blob,要先插空,然后update,但从插入数据不能判断哪条是最后插入的,怎样可以获得最后插入的那条数据?谢谢了。。。问题补充:现在数据库确定了,我不能随便改,所以不能添加自增长的标识列。。。但原本数据库里有个VARCHAR类型的,我给它添加了seq,让它每次增1,可以通过这个获得最大的吗??问题补充:To:ham我小菜,刚开始写程序,你说的问题没有想到,现在写东西都只是简单的实现,好多情况都没考虑,呵呵。。。另外你说的seqRow是我创建的sequence+Row吗??但是我执行说“此处不允许序号”。。谢谢你了,哈哈。。。

解决方案

可以用sequence进行操作.使用SELECT * FROM tableName WHERE seqRow=seqRow.CURRVAL;就可以获取到最后一条记录了.关于楼主这个问题...如果在插入了一个空行之后,还没来得及更新,另外一个操作又往里插入了一个空行,这种情况楼主是准备怎么处理的?
解决方案二:
Oracle中没有像SQL-Server和MySQL中的直接获取刚插入行的存储过程或函数.所以只能通过一个自增长的标识列进行获取.每次就获取标识列值最大的那一行数据,就是最后插入的了.SELECT * FROM table_name WHERE rowid=(SELECT max(rowid) FROM table_name);
解决方案三:
先查询满足条件的数据集合比如Collection<T> result = findByHQLNative(hql, params);然后再if (result == null || result.size() == 0)return null;elsereturn (T) result.iterator().next();就是最后的那条数据了

时间: 2024-10-01 08:59:13

oracle取得最后插入的一条数据的相关文章

oracle数据库中怎么一次性插入10万条数据

问题描述 oracle数据库中怎么一次性插入10万条数据 oracle数据库中怎么一次性插入10万条数据?急用!!!1 解决方案 最快的方法是用imp进行导入 或者用sql执行也可以(insert into )

平台终端吞吐量每秒达到2万设备,每秒插入2万条数据技术方案

问题描述 平台终端吞吐量每秒达到2万设备,每秒插入2万条数据技术方案 5C 目前由于平台要处理2万设备,每秒能处理2万条数据,之前使用ActiveMQ,不能达到需求了,之前测试rabbitMQ,Redis 之类,在测试机子上面都不能达到需求,本地测试 模拟1000个线程并发处理,一个线程处理1000插入数据,始终未能达到!不知道大家有没什么好的解决方案能达到这种需求的? 解决方案 单机很难达到这样的吞吐量,需要使用负载平衡了. 解决方案二: 同多台机器分布式处理吧. 解决方案三: hadoop等

mysql 插入10万条数据 优化效率

问题描述 mysql 插入10万条数据 优化效率 public int addTypes(List<taobaoBean> babyList) { String sql = "insert into type (typeid,url) values (?,?) "; Connection conn = dbhelper.getConnection(driver,url,username,upwd); int result = 0; PreparedStatement stm

一个系统每小时插入4亿条数据,需要考虑什么问题?

问题描述 一同事去某公司面java开发,面试的时候说到系统设计,面试官问了个问题:一个系统每小时插入4亿条数据,需要考虑什么问题?他当时没有回答出来,回来听到这个问题,我也没有答案.一般rdbms每秒钟顶多上千事务吧,像这种秒10w多的并发插入,怎么处理呢? 问题补充:wyuxiao729 写道 解决方案 这种大的数据库量处理瓶颈在于一个是传输.一个是存储.存储可以通过队列,缓存方案着手.传输这块目前没有好的办法.只能是从硬件来看.你目前的问题太泛了.不好具体到代码实现.应针对具体的环境来分析解

怎样快速的向SQL-2000里插入10万条数据啊?

问题描述 本人刚参加了一个公司的笔试,有这样一道题,想到了一个笨方法,但速度比较慢,有没有比较快速的方法,向数据库里插入10万条数据?谢谢了... 解决方案 解决方案二:BULKINSERT解决方案三:能不能说的清楚点,还是不明白.解决方案四:在SQL联机帮助里找找看,网上搜索下也行的.解决方案五:有点难度哦

3分钟如何向MySQL数据库中插入100万条数据

一.编写测试案例向MySQL数据库中插入百万条数据.测试数据表建表脚本如下:use db_xk; drop table if exists tb_test2; create table tb_test2 ( id int primary key auto_increment, subject varchar(50) not null, description varchar(200) not null, teacher_id int(10) zerofill not null, student_

sql server 2000中循环插入100万条数据

server|插入|数据|循环 出处:∮明天去要饭's Blog         前段时间在测试100万条以上数据时的分页速度,需要往数据库中插入100万条记录,那个时候插入记录我是用C#写的,后来发现,其实用SQL自已也可以实现的,而且更简单哦!以下是我写的一个实例,很简单,大家应该能看懂的.         declare @i int  --变义变量@i        set @i = 1 --初始化@i为1        while @i < 100 --如果@i小于100,这里改成10

SQL语句oracle中如何插入Date类型的数据

在开发的时候,经常要写条SQL语句将信息插入表中,插入的数据如果字段是date类型,就必须将date类型转换成字符串String类型在通过sql语句插入数据库.这是我字段唯一的方法,如果有高人请另赐教! 我的解决方法是用oracle中的to_date()方法,具体看下面的例子   Oracle中插入date数据代码    insert into news(ID,MSG,SEND_TIME,TIMER)    Oracle中插入date数据代码    values(20110101,'你好',to

oracle 数据库...-oracle 数据库插入一条数据,某字段如何自动递增1

问题描述 oracle 数据库插入一条数据,某字段如何自动递增1 oracle 数据库插入一条数据,某字段如何自动递增1,oracle 数据库插入一条数据,某字段如何自动递增1,在线等.急急急.求大指点 解决方案 1,使用序列 2,手动使用变量++然后执行插入数据库记录 解决方案二: oracle 字段递增 表插入数据,id自动增1 解决方案三: Oracle里有序列,使用序列来实现 解决方案四: 序列: 是oacle提供的用于产生一系列唯一数字的数据库对象. l 自动提供唯一的数值 l 共享对