Oracle创建自增序列

Oracle没有自增字段这样的功能,但是通过触发器(trigger)和序列(sequence)可以实现。

先建一个测试表了:

create table userlogin
(

id   number(6) not null,

name   varchar2(30)   not null primary key

)

tablespace users

/

第一步:创建SEQUENCE

create sequence userlogin_seq increment by 1 start with 1 minvalue 1 maxvalue 9999999999999 nocache order;

第二步:创建一个基于该表的before insert 触发器,在触发器中使用刚创建的SEQUENCE

create or replace trigger userlogin_trigger 
before insert on userlogin
for each row 
begin 
      select   userlogin_seq.nextval   into:new.id from sys.dual ; 
end;

/

第三步:在userlogin表中测试

写个insert语句,插入一条记录,看ID字段自增了没,自增则OK啦。

时间: 2024-08-08 13:42:18

Oracle创建自增序列的相关文章

Hibernate + Oracle 创建自增序列ID

1.创建自增序列 2.对ID创建触发器 3.Userinfo.hbm.xml使得<generator class="increment"> 序列: CREATE SEQUENCE "SYSTEM"."SEQUENCE_ID" MINVALUE 1 MAXVALUE 99999999999 INCREMENT BY 1 START WITH 61 CACHE 20 ORDER NOCYCLE ; 触发器: create or repla

oracle创建表之前判断表是否存在,如果存在则删除已有表

Mysql 创建表之前判断表是否存在,如果存在则删除已有表 DROP TABLE IF EXISTS sys_area; CREATE TABLE sys_area ( id varchar(64) NOT NULL COMMENT '编号', parent_id varchar(64) NOT NULL COMMENT '父级编号', parent_ids varchar(2000) NOT NULL COMMENT '所有父级编号', name varchar(100) NOT NULL C

Oracle创建数据库

打开 Database Configuration Assistant 下一步 选择"高级模式" 下一步 选择创建数据库的类型(一般选择"数据仓库")(一般用途或事务处理?:?即OLTP(联机事务处理).一般数据量小,DML频繁. 数据仓库:?即OLAP,数据量大,DML少关键你的数据是OLTP还是OLAPOLTP:联机事务处理,表示事务多,但执行大多较短,并发量大的数据库,如日常的进销存操作等:OLAP:?联机分析处理,表示事务较少,但执行大多较长,并发量较小的数

Oracle 创建表空间,用户,赋值(简装)

一, 1.Oracle 创建表空间,用户,赋值(简装) C:\Documents and Settings\Administrator>sqlplus /nologSQL> conn /as sysdba 2.删除用户drop user username cascade; 3.创建自增表表空间SQL> create tablespace 表空间 datafile 'E:\oracle\product\10.2.0\oradata\表空间.dbf' size 50m autoextend

oracle创建用户、授予权限及删除用户1

oracle创建用户.授予权限及删除用户 创建用户 oracle对表空间 USERS 无权限 alter user 用户名 quota unlimited on users; //创建临时表空间 create temporary tablespace test_temp tempfile 'E:/oracle/product/10.2.0/oradata/testserver/test_temp01.dbf' size 32m autoextend on next 32m maxsize 204

Oracle 创建用户并且授权

以sysdba登陆 创建用户:CREATE USER username IDENTIFIED BY password; 授予(角色)权限:GRANT CONNECT,RESOURCE TO username; 注:oracle有三类标准角色:CONNECT,RESOURCE,DBA 当然用户自己(只要拥有权限),可以自己创建角色并赋予相应权限. Oracle 创建用户并且授权,布布扣,bubuko.com

Oracle 创建普通用户,并赋予权限

采用sys or system / manager as sysdba; 连接数据库. 创建普通用户konglin: create user konglin identified by pwd_oracle; 删除用户, drop user konglin; 授予用户登录数据库的权限: grant create session to konglin; 授予用户操作表空间的权限: grant unlimited tablespace to konglin; grant create tablesp

oracle创建用户ORA-01045:user lacks CREATE SESSION privilege 及一些简单操作(one lesson)

scott用户成功连接数据库的具体方法: 1.grant connect, resource to scott;2.grant create session to scott; 3.cmd4.sqlplus scott/tiger Oracle的安全 1.用户管理 用户至少需要会话的权利,否则连接也不成功: 用户在会话的权利上,应该有其他操作的权利: Oracle的用户和口令不区分大小写,真是让人大跌眼镜: Oralce中,所有用户必须明确被授权,才可以操作: SQL Server中,创建的用户

关于oracle创建ArcGIS空间数据库

创建基于Oracle的地理数据库有两种方式: 1.知道oracle管理员密码,直接用ArcGIS客户端的创建企业级地理数据库工具来创建 2.不知道sys的密码,但是在oracle创建好了sde用户和sde表空间,并赋予了sde相应的权限,可以直接“启用企业级地理数据库” 注意:在创建地理数据库完成后,弹出如下错误:ST_Geometry 形状库路径可能无效,或者未在 Oracle 实例中正确配置 EXTPROC. [ (Unable to determine current version of