在 Oracle 中为 JSON 列设置多个约束

Set Multiple constrains for JSON column in Oracle

如何创建一个列来保存 json 数据并具有“严格”JSON 和“具有唯一键”的约束?

以下代码仅在存在单个约束时有效,但在存在两个约束时会出错。

ALTER TABLE NOTIFICATIONS
  ADD RECEIVER VARCHAR2(4000 CHAR)
    CONSTRAINT strict_json
      CHECK (RECEIVER IS JSON STRICT) ,
    CONSTRAINT unique_json_keys
      CHECK (RECEIVER IS JSON WITH UNIQUE KEYS);

Error report - ORA-01735: invalid ALTER TABLE option 01735. 00000 - "invalid ALTER TABLE option" *Cause: *Action:

如果您仔细阅读语法图,您会发现 (1) 您的约束是“内联约束”,并且 (2) 在单个列上定义多个约束时,它们应该 以逗号分隔。

删除约束之间的逗号,然后重试。