oracle 固定長度主鍵的生成

2021-09-30 15:13:09 字數 2038 閱讀 1771

開始接觸oracle,覺著非常繁瑣,連主鍵遞增都要做個序列和觸發器,逐漸了解後,覺著這樣的設計還是非常靈活和實用的,下面的**有注釋,應該不用再多解釋了。

可以直接用no做主鍵,放棄id這個字段,只是一直使用id,看不到了不舒服,所以就留著了

有乙個小問題就是序列和觸發器的執行需要加上 」/「這個符號,不知道有沒有和我遇到一樣問題的朋友,這個應該不是問題,不過希望對喜歡自己摸索的朋友一點提示。

/*** 目錄

*/create table tb_cate(

id number(5) primary key,

no varchar2(5) not null,

type char(1) default 0,

name varchar2(40) not null,

describe varchar2(200),

code varchar2(30) not null,

parent number(10),

lev number(1) default 0,

create_user number(10) default 0,

update_user number(10) default 0,

createtime date,

updatetiem date);

--為表tb_cate新增注釋

comment on column tb_cate.id is '目錄id,從1開始,每次遞增1,由序列和觸發器控制';

comment on column tb_cate.no is '目錄編號,5位數字,高位補0,從00001開始,每次遞增1,由序列和觸發器控制';

comment on column tb_cate.type is '目錄型別,備用,可以設定共享目錄等';

comment on column tb_cate.name is '目錄名稱';

comment on column tb_cate.describe is '目錄描述';

comment on column tb_cate.code is '目錄完整編碼,例如00001/00002,不包含自身';

comment on column tb_cate.parent is '上級目錄';

comment on column tb_cate.lev is '目錄等級,預設0級';

comment on column tb_cate.create_user is '目錄建立人,預設0為系統建立';

comment on column tb_cate.update_user is '目錄最後修改人,預設0為系統建立';

comment on column tb_cate.createtime is '目錄建立時間';

comment on column tb_cate.updatetiem is '目錄最後修改時間';

--建立tb_cate.id 的序列

create sequence tb_cate_id_seq

minvalue 1 --最小值是1

nomaxvalue --沒有最大值

start with 1 --0從1開始

increment by 1 --遞增1

nocycle --不迴圈

nocache --不建快取區

/--建立tb_for.id的觸發過程

create or replace trigger tb_cate_id_tg

before insert on tb_cate for each row when (new.id is null)

declare v_nextval number(10);--設定變數接收序列,否則序列會遞增兩次

begin

v_nextval := tb_cate_id_seq.nextval;--變數賦值

select v_nextval into:new.id from dual;--設定自增id

select lpad(v_nextval,5,'0') into:new.no from dual;--設定固定位數的no值

end;

/

oracle 固定長度主鍵的生成

開始接觸oracle,覺著非常繁瑣,連主鍵遞增都要做個序列和觸發器,逐漸了解後,覺著這樣的設計還是非常靈活和實用的,下面的 有注釋,應該不用再多解釋了。可以直接用no做主鍵,放棄id這個字段,只是一直使用id,看不到了不舒服,所以就留著了 有乙個小問題就是序列和觸發器的執行需要加上 這個符號,不知道...

CSS定義a固定長度

今天遇到了乙個問題,就是在設定a固定長度的時候,width和height屬性不管用。導致a的背景background transparent url無法正常顯示。只好用 將其撐開,感覺這個辦法滿苯的,而且ff和ie對 長度解析不一樣。在網上查詢了半天,終於找到了解決方法,就是加上display bl...

string生成固定長度的雜湊 雜湊函式簡述

雜湊函式是區塊鏈技術不可或缺的一部分,可用於多種用途。它是一種數學函式,它接受任何給定長度的輸入並產生固定長度的輸出。輸出通常稱為雜湊值,雜湊 摘要或雜湊。單向性 必須很容易計算給定輸入的輸出,但不可能計算給定輸出的輸入。當我們在本章後面討論加密貨幣挖掘時,這將是乙個不可或缺的部分。偽隨機 輸入的變...