使用JDBC插入数据到ORACLE,使用标识列自增列。
2015-09-13 19:03
423 查看
不同于SQL Server的是,Oracle中插入数据的时候,没有自增列或者是标识列,但是,我们又不想显式的进行主键的插入,这里,必须在Oracle数据库中指定一个标识列,或者说是一个序列。具体方法如下:
先创建一个序列,具体方法为:
CREATE SEQUENCE "数据库名"."序列名"
INCREMENT BY 1
START WITH 1
MAXVALUE 1.0E28
MINVALUE 1
NOCYCLE
CACHE 20
NOORDER;
要么写一个触发器,在insert之前(参考我的上一篇文章),要么就这样直接在Java代码中写:
a)先写出一条SQL语句查询出即将的序列值,就是如果下一次插入,标识列的值会是多少。
long index = 0;
String sql = "select 序列名.nextval from dual";
PreparedStatement statement = connection.prepareStatement(sql);
rs = statement.executeQuery();
while(rs.next){
index = rs.getLong(1);;
}
b)然后在进行新的数据插入的时候,直接把查出来的序列的值赋进去就OK了
sql = "insert into TB_USERINFO value(USERID,USERNAME,LOGNAME,PASSWORD,DEPARTID) values(?,?,?,?,?)";
这样一来,就简单的实现了Oracle数据库的标识列的插入值。
相关文章推荐
- Oracle中用触发器实现自动记录表数据被修改的历史信息
- Oracle如何建立自增主键
- ORA-01034: ORACLE not available ORA-27101: shared memory realm does not exist
- oracle11g ASM(修复损坏的磁盘组头asm修复2)
- oracle 中的ifnull-----> nvl
- oracle查询语句大全
- oracle connect by 查询省下所有的市县
- oracle实现插入自增列
- oracle存储过程
- Oracle数据库 sqlplus命令下 使用backspace键乱码问题!
- Oracle 中使用IN 遇到的问题
- Oracle中varchar,varchar2,nvarchar,nvarchar2的区别
- 分享一个Linux下安装ASM+ORACLE的自动化脚本(二)
- ssh框架+oracle实现将文件保存到服务器
- 分享一个Linux下安装ASM+ORACLE的自动化脚本(一)
- Oracle date 类型to_char获取月份英文简写
- 安装oracle11g学习版遇到的几个问题
- oracle 如何把一个表中的数据复制到另一个表中
- oracle ocfs2 安装配置
- WINDOWS下运行ORACLE SQLPLUS时报错Message file sp1<lang>.msb not found问题解决