金仓数据库KingbaseES实现主键自增的方式

 关键字: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

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值