栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

跨表的Postgres唯一组合约束

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

跨表的Postgres唯一组合约束

如果文件名列不是唯一的,则可以在

product_attachment
表上添加自定义约束。请注意,这将在每次插入和更新时执行以下查询,这并不是理想的性能。

CREATE OR REPLACe FUNCTION check_filename(product_id integer, file_id integer)RETURNS boolean AS$$    LOCK product_attachment IN SHARE MODE;    SELECT (COUNT(*) = 0)    FROM product_attachment pa    JOIN file f1 ON f1.file_id = pa.file_id    JOIN file f2 ON f1.filename = f2.filename    WHERe pa.product_id = $1 AND f2.file_id = $2$$LANGUAGE 'plpgsql'ALTER TABLE product_attachmentADD ConSTRAINT check_filename CHECK(check_filename(product_id, file_id))


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/614356.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号