1、创建一个用户表t_sys_user,其中有id,login_name,login_pwd三个字段,ID为自动增长列:
create table t_sys_user
(
id number(6) not null primary key,
login_name varchar2(50) not null,
login_pwd varchar2(50) not null
);
2、创建序列:
create sequence seq_user
increment by 1 --指定序列号之间的间隔,该值可为正的或负的整数,但不可为0。序列为升序。忽略该子句时,缺省值为1。
start with 1 --指定生成的第一个序列号。在升序时,序列可从比最小值大的值开始,缺省值为序列的最小值。对于降序,序列可由比最大值小的值开始,缺省值为序列的最大值。
maxvalue 9999 --指定序列可生成的最大值。
cycle nocache --一直累加,不循环
3、创建触发器:
create or replace trigger tri_user
before insert on t_sys_user for each row
begin
select seq_user.nextval into:new.id from dual; --这里是最容易出错的地方
end;
/
4、测试:
insert into t_sys_user (login_name,login_pwd) values ('zhanggc','123456');
5、更改序列:
create sequence seq_user
increment by 1
start with 1
maxvalue 9999
cycle nocache
分享到:
相关推荐
如何为oracle中的表增加自动增长列.pdf
Oracle数据库创建表tuser设置主键自动增长,先创建表,然后创建基于该表的队列。
oracle自动增长列。 自动序列化, SEQUENCE。
oracle设置主键自动增长 首先,你要有一张表! 然后,你需要一个自定义的sequence 以上代码完成了一个序列(sequence)的建立过程,名称为emp_sequence,范围是从1开始到无限大(无限大的程度是由你机器决定的),nocycle...
( 使用powerdesigner创建oracle_数据库表,设置表主键列为自动增长.doc )
创建表空间,创建用户分配权限,设置表空间自增长,修改大小
在oracle数据库设置自增长列,使用触发器。
oracle触发器实现主键自动增长操作
Oracle与Mysql不同,不能在CREATE建立表时设置自动增长列功能。 Oracle必须通过创建sequence序列来实现自动增加列的功能。 首先要建立序列(当然必须要先建好表,添加好主键约束,这列假设约束名为test_sequence) ...
先做好数据库表设计文档(.doc),利用该程序自动读取设计文档,自动创建数据表
oracle 创建用户及表空间,及用户权限分配
Oracle创建表空间、创建用户并指定表空间、给用户授予权限
oracle创建一个表空间创建临时表空间创建用户表空间资源的权限
Oracle创建表空间.创建用户.创建表
在sqlserver中,可以用identity实现自动增长值,但在oracle中,没有identity,可以用其它的实现,这里就是用序列实现的自动增长值。
文件是本人oracle10g分区表自动按时间创建、删除分区的存储过程,测试代码,通过job调用存储过程,每天午夜12点运行一次。妥妥!跟大家分享下!
完整ORACLE创建表空间、用户、设置用户权限脚本,txt格式,很实用
支持Mysql与oracle自动在excel中生成创建sql语句,非常强大,如果想使用sqlserver看我上一资源
分享一个自己学习和实践的关于Oracle表自动按月分区知识点,已经在项目上线并且有效的方案。
oracle自动建立表分区脚本 适合oracle数据库dba使用 包含详细的操作说明