关键字:kingbase,主键,触发器

本文一共介绍两种实现主键自增的方式,如下所示。

①使用数据库中自带的参数类型serial类型

1、创建ord表:

CREATE TABLE ord(

id SERIAL,

ord_no INT NOT NULL,

ord_name VARCHAR(32),

CONSTRAINT "ord_PKEY" PRIMARY KEY ("id")

);

2、插入几条数据:

INSERT INTO "PUBLIC"."ord"

("id", "ord_no", "ord_name")

VALUES(NEXTVAL('ord_id_SEQ'::REGCLASS), 2, 'sfa');

INSERT INTO "PUBLIC"."ord"

("id", "ord_no", "ord_name")

VALUES(NEXTVAL('ord_id_SEQ'::REGCLASS), 3, 'aaa');

3、查询ord结果集:

SELECT * FROM "ord";

②使用序列+触发器

1、创建ord表

CREATE TABLE ord(

id SERIAL,

ord_no INT NOT NULL,

ord_name VARCHAR(32),

CONSTRAINT "ord_PKEY" PRIMARY KEY ("id")

);

2、创建序列ord_seq

CREATE SEQUENCE ord_seq START WITH 1 INCREMENT BY 1;

3、创建触发器

CREATE OR REPLACE TRIGGER add_ord_id

BEFORE INSERT

ON "ord"

FOR EACH ROW

AS

BEGIN

    SELECT ord_seq.nextval INTO NEW.id FROM dual;

END

更多推荐