oracle 数据库序列问题

如果在oracle 数据库中遇到使用序列 出现尚未定义的里时。那是因为你在建立序列之后,直接使用.CURRVAL的原因。

因为此时的序列的上一个是0 不符合你定义的1开始值。比如:

-- Create sequence

create sequence T_SEQ

minvalue 1

maxvalue 999999999999999999999999999

start with 1

increment by 1

cache 20;

如果先使用了nextval,再使用currval就不会抱着个尚未定义的列。


以下在看个实例:

1.nextval与序列关联,表示下一个,如:
创建里一个序列seq_1:#序列一般表示第几行,起标识作用
          create sequence seq_1 increment by 1 start with 1  
在表中使用此序列:
          INSERT INTO A VALUES  (seq_1.nextval, 'LEWIS', 'CLERK',7902, SYSDATE, 1200, NULL, 20); 
2.values与insert 连用,标示插入的字段值,如:
有一个表 A,A有三个字段:name,age,sex,都是archar2类型的,则往表中插入数据语句为:
insert into A values ('name','age','woman')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值