zoukankan      html  css  js  c++  java
  • ORA-01400: 无法将 NULL 插入 ("JXKH"."SYS_MENU"."MENU_ID")

    解决:
    为该表加上序列和触发器

    -- 菜单
    CREATE TABLE sys_menu (
      menu_id NUMBER(20, 0) NOT NULL,
      parent_id NUMBER(20, 0) NOT NULL,
      name varchar2(50),
      url varchar2(200),
      perms varchar2(500),
      type NUMBER(2, 0),
      icon varchar2(50),
      order_num NUMBER(8, 0),
      PRIMARY KEY (menu_id)
    );
    
    -- Create sequence
    create sequence SYS_MENU_SEQ
    minvalue 1    -- 最小值=1
    maxvalue 999999999999999999999999999  -- 指定最大值
    -- 或nomaxvalue      -- 没有最大值
    -- NOCYCLE;      -- 不循环
    start with 1   -- 从1开始
    increment by 1  -- 每次递增1
    cache 20;
    
    --触发器
    create or replace trigger SYS_MENU_TRI
      before insert on SYS_MENU
    REFERENCING OLD AS "OLD" NEW AS "NEW" FOR EACH ROW
    begin
        SELECT SYS_MENU_SEQ.NEXTVAL INTO :NEW.menu_id FROM DUAL;
    end;
    
  • 相关阅读:
    Interesting Finds: 2009 01.15 ~ 01.17
    Interesting Finds: 2008.12.07
    Interesting Finds: 2008.12.31
    10月16号
    10月14号
    10月15号
    10月13号
    10月20号
    10月19号
    10月12号
  • 原文地址:https://www.cnblogs.com/sunyanblog/p/13100632.html
Copyright © 2011-2022 走看看