oracle中设置表的主键字段为自增序列(实例)

1、首先创建一个表(如日志表)

//删除库表中存在的日志表
drop table S_LOG_INFO cascade constraints;
//新建日志表
create table S_LOG_INFO
(PRIMARYKEY           NUMBER               not null,//主键USERACCOUNT          VARCHAR2(50),//操作用户账号USERNAME             VARCHAR2(100),//操作用户OPERATIONTIME        DATE,//操作时间LOGTYPE              VARCHAR2(100),//日志类型SYSTEMTYPE           VARCHAR2(500),//系统类型MODUAL               VARCHAR2(100),//功能模块FUN                  VARCHAR2(50),//功能方法CONTENT              VARCHAR2(500),//操作说明LOGSTATUS            VARCHAR2(50),//操作结果constraint PK_S_LOG_INFO primary key (PRIMARYKEY)
);

2、创建主键序列

/*创建自增序列*/
CREATE SEQUENCE S_LOG_INFO_PRIMARYKEY_SEQUENCE
MINVALUE 1       --最小值
NOMAXVALUE       --不设置最大值
START WITH 1     --从1开始计数
INCREMENT BY 1   --每次加1
NOCYCLE          --一直累加,不循环
NOCACHE;         --不建缓冲区

3、创建触发器实现数据插入时触发主键自动增长

CREATE OR REPLACE TRIGGER S_LOG_INFO_TRIGGER BEFORE INSERT ON S_LOG_INFO FOR EACH ROW WHEN(NEW.PRIMARYKEY IS NULL)
BEGIN SELECT S_LOG_INFO_PRIMARYKEY_SEQUENCE.NEXTVAL INTO:NEW.PRIMARYKEY FROM dual;
END;

4、测试,添加数据

 INSERT  INTOS_LOG_INFO(LOGSTATUS, USERACCOUNT, LOGTYPE, SYSTEMTYPE, CONTENT, FUN, USERNAME, MODUAL) VALUES('成功','123','系统日志', 'XXXXXXX', '用户成功注销', 'doLogout', 'admin','系统注销')

oracle中设置表的主键字段为自增序列(实例)相关推荐

  1. oracle设置表的主键和外键,Oracle中给表添加主键、外键

    1.创建表的同时创建主键约束 (1)无命名 create table student ( studentid int primary key not null, studentname varchar ...

  2. Oracle中给表添加主键 外键,给表中添加主键、外键

    1.创建表的同时创建主键约束 (1)无命名 create table student ( studentid int primary key not null, studentname varchar ...

  3. Oracle 中给表添加主键、外键

    1.创建表的同时创建主键约束 (1)无命名 create table student ( studentid int primary key not null, studentname varchar ...

  4. 如何提高增加包含大量记录的表的主键字段的效率

    如何提高增加包含大量记录的表的主键字段的效率 LazyBee 1 问题的提出: 在给客户升级数据库系统时,由于报表的需要,系统中每一个表都需要有主键字段.系统审计表自然也有这个要求-需要增加一个ide ...

  5. MySQL修改表的主键字段

    MySQL修改表的主键字段 1. 命令 ALTER TABLE sleep_device_day_temp DROP PRIMARY KEY ,ADD PRIMARY KEY ( id );

  6. SQL Server 数据库表修改主键字段长度

    背景:需要修改表主键字段的长度(修改带有索引的表字段的长度). 1.网上查找资料,参考如下 https://www.cnblogs.com/sunxuchu/p/5578057.html 2.参照资料 ...

  7. oracle 如何获取表的主键列名,如何获取表的所有列名

    获取表的主键列名 SQL  select   *   from   user_cons_columns      where   constraint_name   =   (select   con ...

  8. MySQL 获取物理表的主键字段

    参考代码: 1 /** 2 * 获取主键字段 3 * @param $table 4 * @param $database 5 * @return mixed 6 */ 7 public functi ...

  9. 两个主键怎么设置tsql_如何在sql server中设置两个主键?

    展开全部 主键是数据库表的一个重要属性,建立主键可以避免表中存在完全相同的记录,也就是说主键在e68a8462616964757a686964616f31333365633938一张表中的记录值是唯一 ...

最新文章

  1. 动态密码卡TOTP算法
  2. java信号灯_java 信号灯 Semaphore
  3. 为什么引入devops_DevOps可以为您的文档做什么?
  4. 大数据,AI, Python,编程,数学,英语,恋爱资料大全
  5. python基础数据类型语法
  6. SQL Server 锁
  7. C# WinForm开发系列 - Thread/Delegate/Event
  8. Java遍历Map集合的四种方式
  9. svn 回退到指定版本无法提交_svn回滚到指定版本
  10. java编写一个测试类_java写一个类,并测试它
  11. 使用SplitContainer控件
  12. JavaScript 高淇讲解的代码(三)
  13. [nlp] 双三次插值(BiCubic插值)
  14. 嵌入式系统开发笔记6:CJ/T-188 水表协议解析1
  15. iOS跳转到设置和其他APP的那些事
  16. 聊聊HotSpot VM的Native Memory Tracking
  17. 机器学习神器Scikit-Learn保姆级入门教程
  18. 记:EVE模拟器拓扑配置的保存及导入
  19. [紧急]华展云再次连夜更新200余本16年会刊,2016年会刊量级已达全网第一
  20. 毕业设计 stm32智能运动计步器 - 物联网 嵌入式 单片机

热门文章

  1. Linux中断分析2
  2. 国外技术论坛和顶级公司技术博客汇总
  3. 病原微生物高通量测序:第一节 概述
  4. Load Balancer as a Service (LBaaS V2.0)
  5. Java为什么要写get和set方法多此一举呢?
  6. 函数的 柯里化和反柯里化
  7. C#关键字扫盲——Sealed 密封
  8. c++11多线程编程(一):创建线程的三种方法
  9. 黑科技时代,不了解这些你就OUT了
  10. CASIA -HWDB2.0-2.2和OLHWDB2.0-2.2数据集解析