Postgres 约束参考
Postgres constraint references
定义字段时,有什么区别:
,cadastre integer NOT NULL
,CONSTRAINT fkey_affaire_vl_cadastre FOREIGN KEY(cadastre)
REFERENCES public.vl_cadastre (obj_id) MATCH SIMPLE
ON UPDATE RESTRICT ON DELETE RESTRICT
AND 直接
,cadastre integer NOT NULL REFERENCES public.cadastre (obj_id)
两种结构都创建了一个外键。短表达式称为 内联 外键。
主要区别在于长表达式允许您选择约束的名称,而第一个表达式则不允许。如果您稍后需要操作约束(例如,删除它),这会很方便,因为您事先知道它的名称。
在您的代码中,第一个示例使用选项 on update restrict
和 on delete restrict
。这也支持外键声明的内联形式。
定义字段时,有什么区别:
,cadastre integer NOT NULL
,CONSTRAINT fkey_affaire_vl_cadastre FOREIGN KEY(cadastre)
REFERENCES public.vl_cadastre (obj_id) MATCH SIMPLE
ON UPDATE RESTRICT ON DELETE RESTRICT
AND 直接
,cadastre integer NOT NULL REFERENCES public.cadastre (obj_id)
两种结构都创建了一个外键。短表达式称为 内联 外键。
主要区别在于长表达式允许您选择约束的名称,而第一个表达式则不允许。如果您稍后需要操作约束(例如,删除它),这会很方便,因为您事先知道它的名称。
在您的代码中,第一个示例使用选项 on update restrict
和 on delete restrict
。这也支持外键声明的内联形式。