Oracle中ID的自动增加以及获取系统时间的小技巧

来源:互联网 发布:win10电脑安装mac 编辑:程序博客网 时间:2024/05/06 01:06

ID自动增加,就像MS- SQL Server里面创建表格时,给表的主键设置为自动增加一样。

 

在Oracle里面,通过如下的SQL语句实现:

-- 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‘)

 

 

这样就解决了自动增加和取得系统时间的问题。


 

原创粉丝点击