如何在PostgreSQL中对被引用的表进行约束的外键

如何在PostgreSQL中对被引用的表进行约束的外键,第1张

如何在PostgreSQL中对被引用的表进行约束的外键

您可以为此使用CHECK约束。您不能将查询置于CHECK约束中,但可以调用一个函数。因此,我们构建了一个简单的函数来告诉我们a

pluginid
是否为矩阵

create or replace function is_matrix(int) returns boolean as $$    select exists (        select 1        from plugins        where id   =           and type = 'matrix'    );$$ language sql;

并将其包装在CHECK约束中:

alter table matrix_params add constraint chk_is_matrix check (is_matrix(pluginid));

然后:

=> insert into matrix_params values (1,1);=> insert into matrix_params values (2,3);ERROR:  new row for relation "matrix_params" violates check constraint "chk_is_matrix"

FK负责参照完整性和级联。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5675618.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存