回覆列表
  • 1 # 滴逃逃

    mark_seq 是一個 序列號

    SQL> CREATE SEQUENCE mark_seq

    2 increment by 1 -- 每次遞增1

    3 start with 1 -- 從1開始

    4 nomaxvalue -- 沒有最大值

    5 minvalue 1 -- 最小值=1

    6 NOCYCLE; -- 不迴圈

    Sequence created.

    mark_seq.nextval 就是那個 序列號的 下一個 數值.

    下面是一個 使用觸發器,來處理 序列號的例子:

    SQL> CREATE SEQUENCE test_sequence2

    2 increment by 1 -- 每次遞增1

    3 start with 1 -- 從1開始

    4 nomaxvalue -- 沒有最大值

    5 minvalue 1 -- 最小值=1

    6 NOCYCLE; -- 不迴圈

    Sequence created.

    SQL> CREATE TABLE test_create_tab2 (

    2 id INT,

    3 val VARCHAR(10),

    4 PRIMARY KEY (id)

    5 );

    Table created.

    SQL> CREATE OR REPLACE TRIGGER BeforeTestCreate2Insert

    2 BEFORE INSERT ON test_create_tab2

    3 FOR EACH ROW

    4 BEGIN

    5 SELECT test_sequence2.nextval INTO :new.id FROM dual;

    6 END;

    7 /

    Trigger created.

    SQL> INSERT INTO test_create_tab2(val) VALUES ("NO id");

    1 row created.

    SQL> INSERT INTO test_create_tab2(id, val) VALUES (1, "id no use");

    1 row created.

    SQL> SELECT * FROM test_create_tab2;

    ID VAL

    ---------- --------------------

    1 NO id

    2 id no use

  • 中秋節和大豐收的關聯?
  • 應收賬款分析應該包括哪些內容?