zoukankan      html  css  js  c++  java
  • 自己编写存储过程对Oracle中的序列进行重置

         SQL ServerOracle数据库在设置表的主键的时候有一个很重要的区别,SQL Server可以通过自带的自增数据类型设置一个表的主键,而Oracle则必须借助于数据库中的序列实现自增的数据类型,这两种方式有以下几种区别:

    SQL Server

    Oracle

    自增列隶属于它所在的表对象。

    序列和字段分别为不同的数据库对象,它们之间没有直接的联系。

    自增列由DB自动管理,无需手动指定值。

    通过[序列名称].nextval命令将序列的当前值递增。

    每个表只能允许设置一个自增列。

    同一个序列可以被多个表使用,但同一时刻序列的当前值只能被应用到一个表中。

         同时 ,它们之间有一个共同的特点,那就是值只能向下递增,不能向上递减。不过,由于Oracle中的序列是独立于表字段而存在的数据库对象,所以,我们可以单独对它进行设置,如将它的当前值递减,或将值设置为初始状态。值得说明的是,在我们重置序列的值之前,需要确定该序列是否正在被数据库中的其它对象使用,否则会导致正在使用该序列的数据库对象的值混乱。

         下面是用于重置Oracle序列的存储过程的代码: 

    seq_Reset

          例如你有一个名称为seq_Instance的序列,你可以直接调用该存储过程对这个序列进行重置:

    Call seq_Reset('seq_Instance')
  • 相关阅读:
    【Lucene3.6.2入门系列】第14节_SolrJ操作索引和搜索文档以及整合中文分词
    最短路--Dijkstra算法 --HDU1790
    XMPPFrameWork IOS 开发(六)聊天室
    InfoSphere BigInsights 安装部署
    EXCEL VBA运行不显示系统提示
    android 随手记 倒计时
    Conversion between json and object
    java 运行项目不放到tomcat下的webapps文件夹下放到自己建的文件夹中的处理办法
    sBPM产品介绍
    linux进程,作业,守护进程,进程间同步
  • 原文地址:https://www.cnblogs.com/jaxu/p/1402761.html
Copyright © 2011-2022 走看看