Oracle中没有已定义好的自动编号列,需要自己创建,下面总结Oracle 10g中自动编号列的创建方法:

1. 首先需要给要添加自动编号列的表创建索引,被索引的列就是后面要实现的自动编号列,这样的列往往是名为“ID”的列。创建索引可以通过OEM创建,也可以 在SQL*Plus或PL/SQL中通过SQL语句创建。以方案LY中的表HARD为例,给其hard_id列创建索引的SQL语句为:

CREATE UNIQUE INDEX LY.HARD ON LY.HARD(hard_id);

2. 然后需要创建一个最小值为1,最大值不限,递增值为1的序列。序列的创建同样可以通过OEM或直接输入SQL语句创建。创建序列的SQL语句为:

drop sequence HARD_SEQ;

create sequence HARD_SEQ

minvalue 1

maxvalue 999999999999999999999999999

start with 21

increment by 1

cache 20

order;

3.最后为表LY.HARD创建触发器,以实现在每次插入行时,hard_id列自动递增编号。触发器的创建同样可以方便的由OEM创建,也可以用SQL语句创建。下面为创建触发器的SQL语句:

CREATE OR REPLACE TRIGGER "HARD_ID_TRIGGER" BEFORE

INSERT ON "LY"."HARD" FOR EACH ROW

declare

next_checkup_no number;

begin

select hard_seq.nextval

into next_checkup_no

from dual;

:NEW.hard_id := next_checkup_no;

end;

需要注意的是,在用OEM创建触发器时,有可能出现“Failed to commit: 索引中丢失 IN 或 OUT 参数:: 1”的错误提示,在网上查阅了一些资料,认为这可能是Oracle中的一个BUG,所以建议使用SQL语句创建触发器。

oracle索引中丢失in或out参数,oracle 11g给表建触发器错误“索引中丢失 IN 或 OUT 参数:: 1...相关推荐

  1. 报错'参数**没有默认值',或 语法错误(操作符丢失)的解决方法

    问题:当写的SQL语句执行时总是报错参数没有默认值,或语法错误(操作符丢失)时,导致程序报错无法继续执行..... 原因:通常是语句里面的变量的引号的问题,引号没有加或者加的不对让delphi误认为是 ...

  2. Oracle中的emp、dept、bonus及salgrade表的新建及MySQL中的三种注释形式

    /*下面会包含三种mysql的注释形式 1.#... 2."-- ..."(--后需加一个空格) 3.*/ #1.创建dept表;插入dept表中的值 CREATE TABLE d ...

  3. Oracle中重建表的全局的索引、分区索引、及同时建全局和分区索引----脚本

    在oracle中,重建普通表上的索引很简单.要重建特定索引,只需执行如下sql命令: ALTER INDEX INDEX_NAME Rebuild; 这里INDEX_NAME 代表索引的名字,下同. ...

  4. 分析Oracle有时会用索引来查找数据的原因-oracle执行计划

    http://www.webjx.com/database/oracle-140.html 问:为什么Oracle有时会用索引来查找数据? 答:在你运用SQL语言,向数据库发布一条查询语句时,Orac ...

  5. 索引组织表:万物皆索引

    这一讲我想和你聊一聊 MySQL InnoDB 存储引擎的索引结构. InnoDB 存储引擎是 MySQL 数据库中使用最为广泛的引擎,在海量大并发的 OLTP 业务中,InnoDB 必选.它在数据存 ...

  6. c语言编程文件中删除数据结构,C语言数据结构实战(一)顺序表的插入与删除

    今天学习了思成老师的数据结构实战教程 写了一个顺序表 插入和删除的操作 把源码共享给大家 一共包括list.c stu.h main.c list.h   .h文件是头文件 需要引入 具体的功能我都已 ...

  7. PostMan发送请求参数带有路径特殊字符会返回400错误(与URL字符及URL编码值有关)

    目录 一.请求参数中携带URL字符返回400错误 二. 请求参数中携带URL字符返回400错误原因 三.URL字符及对应的URL编码值列表 四.请求参数中携带URL字符转成URL编码值 一.请求参数中 ...

  8. mysql inserted表_触发器中的inserted表和deleted表

    触发器语句中使用了两种特殊的表:deleted 表和 inserted 表.Microsoft? SQL Server 2000 自动创建和管理这些表.可以使用这两个临时的驻留内存的表测试某些数据修改 ...

  9. oracle表重命名 索引,CSS_在Oracle数据库中按用户名重建索引的方法,如果你管理的Oracle数据库下某 - phpStudy...

    在Oracle数据库中按用户名重建索引的方法 如果你管理的Oracle数据库下某些应用项目有大量的修改删除操作, 数据索引是需要周期性的重建的. 它不仅可以提高查询性能, 还能增加索引表空间空闲空间大 ...

最新文章

  1. 2020年春天故事之巧遇史上最奇葩SAP用户
  2. 爬虫笔记:Python Selenium详解
  3. Action Framework Medium attribute 初始化逻辑
  4. [转帖]经典好文!看完后感到很震撼!
  5. Hadoop 中zoo_0基础如何入门HADOOP
  6. 李洋疯狂C语言之n个人报数,报到3的退出,最后留在场上的是原来的第几位(约瑟夫环)
  7. Android界面开发工具DroidDraw
  8. 404 Not Found [IP: 91.189.91.39 80] 解决办法:换源,还是换源 !!
  9. 游戏中找CALL的万能方法
  10. Spark 学习【二】
  11. 基于JAVA搬家预约系统计算机毕业设计源码+系统+lw文档+部署
  12. html 如何实现正方形的单项选择,css实现正方形
  13. 淘宝上虚拟商品怎么解决自动发货问题
  14. 关于低噪声放大器的ADS设计和仿真
  15. 试玩R语言中教育诊断的那些包(一):kst
  16. 亚马逊小白如何寻找关键词?
  17. 华为HCNP老学员分享学习的几个境界
  18. 统计一串字符中英文字母的个数
  19. G120变频器抱闸逻辑在提升机上应用
  20. easy excel date 类型解析报错_Excel神具EasyExcel,常见API

热门文章

  1. Android x86 下运行纯ARM版APP
  2. vscode插件的开发与发布流程
  3. yii2 / Console - yii2开发控制台应用时的还我漂漂拳
  4. TFRecords转化和读取
  5. lucene、solr、nutch三者的关系
  6. Spring Security 入门(3-11)Spring Security 的使用-自定义登录验证和回调地址
  7. openstack API debug OpenstackEveryProject_CLI,curl_based
  8. 王峰:Hadoop生态技术在阿里全网商品搜索实战
  9. 【DevOps】为什么我们永远疲于奔命?
  10. Android cocos2d-x开发(三)之创建Android工程和编译