zoukankan      html  css  js  c++  java
  • Oracle和SQLSERVER实现主键自动增长

    一:Oracle中实现主键的默认自增长
      很多时候在做和数据库相关的操作的时候,主键不能由用户去填写或涉及多个用户同时操作一张表的时候,就需要对主键进行严格的控制,这里主要讲Oracle中如何实现主键的自增长。  www.2cto.com  
     
           主要由三步组成,1)建表;2)建立序列;3)建立触发器(目的是在表插入数据的时候启用序列生成的值),我们通过下面的例子来说明:
     
            1)建立对应的数据库表:
            drop table TEST;
            create table TEST
            (
               bsm         NUMBER(10) not null,
               xh          NUMBER(10),
               posx        NUMBER(15,5),
               posy        NUMBER(15,5)
             );
           alter table TEST add constraint PK_TEST primary key (BSM);
            2)建立序列
          drop sequence TEST_SEQ;
           create sequence TEST_SEQ
           minvalue 1
           maxvalue 999999999999999999
           start with 1
           increment by 1
           cache 20;
    注:建立序列,最小值为1,从1开始计数和每次递增量为1;
            3)建立触发器  www.2cto.com  
           drop trigger test_trig;
           CREATE OR REPLACE TRIGGER "test_trig"
           BEFORE INSERT ON test
           REFERENCING OLD AS OLD NEW AS NEW FOR EACH ROW
           DECLARE
           BEGIN
               SELECT TEST_SEQ.NEXTVAL INTO :NEW.BSM FROM DUAL;
           END test_trig;
    通过上述三步就完成了主键自动生成的设定,以后就可以根据业务需求直接插入业务数据就可以了
     
    二:SQLSERVER中实现主键的默认自增长:
    通过 IDENTITY 来设置,参数有2个,一个是“初始值” 一个是“增量”。
    默认情况下 INSERT 语句中,不能对 IDENTITY 的字段进行赋值。
    CREATE TABLE test_create_tab2 (
    id INT IDENTITY(1, 1) PRIMARY KEY,
    val VARCHAR(10));

  • 相关阅读:
    RESTful API 设计指南 (转)
    关于APP接口设计(转)
    申请付费苹果开发者账号 注意事项及流程 (转)
    Excel word “由于本机的限制_该操作已被取消_请与管理员联系”的已生效解决办法 (转 )
    iOS APP提交上架最新流程(转)
    Android 框架练成 教你打造高效的图片加载框架(转)
    intellij idea使用
    Android ImageView的scaleType属性与adjustViewBounds属性(转)
    android 教程实例系列
    打包时报错误调试
  • 原文地址:https://www.cnblogs.com/haoshuai1950/p/5229298.html
Copyright © 2011-2022 走看看