zoukankan      html  css  js  c++  java
  • 创建oracle数据表示例sql

    CREATE TABLE "BRAND_RELATION" 
       (    
        "ID" NUMBER(10,0) NOT NULL ENABLE, 
        "CATID" NUMBER(10,0) NOT NULL ENABLE, 
        "BRAND_ID" NUMBER(10,0) NOT NULL ENABLE, 
        PRIMARY KEY ("ID")
        );
    CREATE SEQUENCE "BR_ID_SEQ" NOCACHE;


    CREATE INDEX "BR_CATID" ON "BRAND_RELATION" ("CATID"); 
    CREATE INDEX "BR_BRAND_ID" ON "BRAND_RELATION" ("BRAND_ID"); 

    CREATE OR REPLACE TRIGGER "BR_ID_TRG" BEFORE INSERT ON "BRAND_RELATION" REFERENCING OLD AS "OLD" NEW AS "NEW" FOR EACH ROW ENABLE
    DECLARE 
    v_newVal NUMBER(12) := 0;
    v_incval NUMBER(12) := 0;
    BEGIN
      IF INSERTING AND :new.id IS NULL THEN
        SELECT  BR_ID_SEQ.NEXTVAL INTO v_newVal FROM DUAL;
        -- If this is the first time this table have been inserted into (sequence == 1)
        IF v_newVal = 1 THEN 
          --get the max indentity value from the table
          SELECT NVL(max(id),0) INTO v_newVal FROM BRAND_RELATION;
          v_newVal := v_newVal + 1;
          --set the sequence to that value
          LOOP
               EXIT WHEN v_incval>=v_newVal;
               SELECT BR_ID_SEQ.nextval INTO v_incval FROM dual;
          END LOOP;
        END IF;
        --used to emulate LAST_INSERT_ID()
        --mysql_utilities.identity := v_newVal; 
       -- assign the value from the sequence to emulate the identity column
       :new.id := v_newVal;
      END IF;
    END;

  • 相关阅读:
    小程序中自定义组件
    rem是如何实现自适应布局的?
    基于vue前端状态管理模式
    vue项目使用keep-alive的作用
    JS移动元素的方法
    es6 promise then对异常处理的方法
    async/await 中await接收的promise的问题
    angularjs ngRoute demo
    angularjs $watch demo
    Html5 Geolocation demo
  • 原文地址:https://www.cnblogs.com/songzhenghe/p/4582308.html
Copyright © 2011-2022 走看看