需要一个列根据另一个触发器自动递增

时间:2017-08-09 01:32:16

标签: sql triggers auto-increment

我有一张简单的桌子。它有5列,其中两列是job_numline。我想在插入时将行号留空,如果没有其他行带有该作业号,可能会使用触发器插入“1”。如果job_num已有一行,那么它将采用下一行号。

这些是我的专栏

`job_Num` int,
`line` int ,
`Description` nvarchar(60),
`qty` int,
`price` int

1 个答案:

答案 0 :(得分:0)

  1. 创建序列。例如,
  2. CREATE SEQUENCE SQ_1 START WITH 1 MAXVALUE 49999999 NOCYCLE;

    1. 使用序列创建触发器。

      CREATE OR REPLACE TRIGGER TRI_1 BEFORE
      INSERT
        ON table_name FOR EACH ROW BEGIN
      SELECT
        SQ_1.NEXTVAL
      INTO
        :NEW.column_name
      FROM
        DUAL;
      END
      ;
      
    2. 插入记录,您可以在那里看到效果。