首页 > 代码库 > 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‘)