首页 > 代码库 > Oracle中ID的自动增加以及获取系统时间的小技巧
Oracle中ID的自动增加以及获取系统时间的小技巧
引自http://blog.csdn.net/lejuo/article/details/4479065
ID自动增加,就像MS- SQL Server里面创建表格时,给表的主键设置为自动增加一样。
在Oracle里面,通过如下的SQL语句实现:(plsql可以直接在sequence创建)
-- Create sequence
create sequence MSG_IN_ID_SEQ
minvalue 1
maxvalue 999999999999999999999999999
start with 1
increment by 1
cache 20;
在insert语句里面,用MSG_IN_ID_SEQ.nextval获得下一个id的值。
而获取系统时间,则引用sysdate来实现。
------------------------------------------------------------------------------------------------------------
假设现要创建一表格:
create table msg_in (
ID INT not null,
FFID CHAR(24),
SNDR CHAR(4),
TYPE CHAR(4),
STYP CHAR(4),
RVDT DATE,
DAT CLOB,
constraint PK_MSG_IN primary key (ID)
);
要求:ID为自动增加的
则再执行以下创建Sequence的语句:
-- Create sequence
create sequence MSG_IN_ID_SEQ
minvalue 1
maxvalue 999999999999999999999999999
start with 1
increment by 1
cache 20;
现假设要给这个表格增加一条记录:
insert into msg_in (id,FFID, SNDR, TYPE, STYP, RVDT, DAT) values(msg_in_id_seq.nextval,‘CA-101-A-12DEC031345‘,‘SOC‘,‘FLOP‘,‘ROUT‘, sysdate ,‘xml version‘)