您的位置:首页 > 数据库 > Oracle

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

2009-08-24 16:42 465 查看
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‘)

 

 

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

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息