易截截图软件、单文件、免安装、纯绿色、仅160KB

Oracle插入数据时获取自增ID

自增字段:
表atable(id,a) id需要自增 首先建立一个序列:
create sequence seq_atable minvalue 1 maxvalue 999999999999999999 start with 1 increment by 1 nocache
有二种方式使用自增字段:
使用序列+触发器实现自增,插入语句不需要管自增字段
如:create or replace trigger trg_atable before insert on atable for each row begin select seq_atable.nextval into :new.id from dual; end;
插入数据:insert into atable(a) values('test');
注:我创建了sequence 和trigger :,之后在procedure中插入数据,插入的时候没有管ID字段,在应用中,使用了hibernate,虽然hibernate在增加记录的时候也会处理ID,但是添加记录之后,查询记录发现,ID还是根据序列和触发器的规则设置的
仅使用序列,需要在插入数据时,自增字段插入序列下一个值
如:insert into atable(id,a) values(seq_atable.nextval,'test');
三、返回刚插入记录的自增字段值
如上面的例子,我们插入一条记录后,我想马上返回刚插入的记录的ID号,我该怎么处理呢?
首先要解决自增字段的问题,上面的二种方法哪种更适合这种用法呢? 建议使用第二种自增序列,否则处理起这个问题来比较麻烦。
使用自增字段的第二种方法,在插入一条记录后马上执行一下下面的语句即返回当前插入数据的ID。
$query="select seq_atable.currval from dual";
seq_atable.currval 的值只有在同一次会话中,发生seq_atable.nextval后有效:) 所以不会存在取错值的问题。


相关文档:

Oracle RAC学习笔记 (二)

Oracle RAC Workload Management:
service   usage   preferred instances      available instances     prority         response time warning/critical
ERP      &nb ......

Oracle发布免费数据库开发工具SQL Developer 1.2


Oracle发布免费数据库开发工具SQL Developer 1.2
2007.09.25  来自:CSDN   呐不喊   共有评论()条 发表评论    收藏
Oracle SQL Developer是甲骨文公司免费提供的数据库开发工具,可帮助用户简化开发工作,提高编制和调试SQL和PL/SQL代码的效率。现在,这个免费工 ......

oracle 11g ORA 12514错误,我的解决办法

前言:网上有很多解决办法,删listener.ora也好,还是什么也好,都解决不了我这个问题,依然报12514错误,以下是我逐个尝试后成功的监听字符串。。
listener.ora文件:
# listener.ora Network Configuration File: d:\app\john\product\11.1.0\db_1\network\admin\listener.ora
# Generated by Oracle configuration too ......

oracle存储过程实例

认识存储过程和函数
存储过程和函数也是一种PL/SQL块,是存入数据库的PL/SQL块。但存储过程和函数不同于已经介绍过的PL/SQL程序,我们通常把PL/SQL程序称为无名块,而存储过程和函数是以命名的方式存储于数据库中的。和PL/SQL程序相比,存储过程有很多优点,具体归纳如下:
* 存储过程和函数以命名的数据库对象形式存储 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号