约束

约束子句用于声明约束,新行或者更新的行必须满足这些约束才能成功插入或更新。如果存在违反约束的数据行为,行为会被约束终止。

约束可以在创建表时规定(通过 CREATE TABLE 语句),或者在表创建之后规定(通过 ALTER TABLE 语句)。

约束可以是列级或表级。列级约束仅适用于列,表级约束被应用到整个表。

openGauss中shark插件中的约束如下:

  • 本章节只包含shark新增的语法,原openGauss的语法未做删除和修改。原openGauss请参考章节约束
  • IDENTITY: 用于在表中创建一个标识列,仅在D模式下shark插件中生效。

IDENTITY约束

IDENTITY约束语法:IDENTITY [ (seed , increment) ]

参数 seed 加载到表中的第一个行所使用的值。

increment 与前一个加载的行的标识值相加的增量值。

必须同时指定种子和增量,或者二者都不指定。 如果二者都未指定,则取默认值 (1,1)。

IDENTITY 属性可以分配给 tinyint、smallint、int、bigint、decimal(p, 0) 或 numeric(p, 0) 列,每个表只能创建一个标识列。

openGauss=# CREATE TABLE book
(
    bookId int NOT NULL PRIMARY KEY IDENTITY,
    bookname NVARCHAR(50),
    author NVARCHAR(50)
);
NOTICE:  CREATE TABLE will create implicit sequence "book_bookid_seq_identity" for serial column "book.bookid"
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "book_pkey" for table "book"
CREATE TABLE

相关链接

约束

意见反馈
编组 3备份
    openGauss 2025-09-10 07:42:30
    取消