
需要先创建序列,然后nextval添加数据使其自动生成序号。
1、创建表:
create table test(id int,
name varchar2(20))
2、创建序列:
Create sequence seq_test_idIncrement by 1
Start with 1
Maxvalue 999999
Minvalue 1
Nocycle
nocache
3、插入数据:
insert into test values (seq_test_id.nextval,'badkano')4、再插入一条数据:
insert into test values (seq_test_id.nextval,'百度知道团长')这样可见,序号是添加成功的。
1、首先要保证该数据库用户有删除序列和新建序列的权限,存储过程中这个权限要显示赋权:grant create sequence to 数据库用户
grant drop any sequence to 数据库用户
2、存储过程中创建序列和删除序列:
创建序列:
execute immediate
'create sequence 序列名' || chr(10) ||
'minvalue 1' || chr(10) ||
'maxvalue 999999999999999999999999999' || chr(10) ||
'start with 1' || chr(10) ||
'increment by 1' || chr(10) ||
'cache 20'
删除序列:
execute immediate 'drop sequence 序列名'
oracle表中创建序列语法:
CREATE SEQUENCE name
[INCREMENT BY n]
[START WITH n]
[{MAXVALUE n | NOMAXVALUE}]
[{MINVALUE n | NOMINVALUE}]
[{CYCLE | NOCYCLE}]
[{CACHE n | NOCACHE}]
示例:
increment by n:表明值每次增长n(步长)。
start with n: 从n开始。
{MAXVALUE n | NOMAXVALUE}: 设置最大值。
{MINVALUE n | NOMINVALUE}: 设置最小值,start with不能小于最小值。
CYCLE | NOCYCLE : 是否循环,建议不使用
CACHE n | NOCACHE : 是否启用缓存。
2、插入数据到表中
示例:
INSERT INTO emp VALUES
(emp_sequence .nextval, 'LEWIS', 'CLERK',7902, SYSDATE, 1200, NULL, 20)
Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的 适应高吞吐量的数据库解决方案。
ORACLE数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品;作为分布式数据库它实现了分布式处理功能。
扩展资料:
sql server数据库里建序列:
alter table cust_info add sequence int
insert into cust_info (sequence)
select row_number() over(order by cust_id) as cust_id_seq from cust_info
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)