gpt4 book ai didi

java - 如何在 JDBC 中创建断言?

转载 作者:行者123 更新时间:2023-12-02 07:25:07 25 4
gpt4 key购买 nike

我正在使用 PostgresqlJDBC,我正在尝试弄清楚如何创建断言。

我目前有两个关系表A(url varchar(30))和表B(url varchar(30)),我想写一个断言,以便如果该元素已存在于表 A 中,则不可能插入到表 B 中。如何在 JDBC 中执行此操作?如果无法使用断言,我该如何让类似的事情发生?

编辑:好的,所以我读到不可能使用 postgresql 创建断言;因此,我现在的问题是,如何使用 Postgresql 和 JDBC 的约束来做类似的事情?

最佳答案

您想要的实际上是一个负外键约束,但不直接支持。您可以使用测试条件的 PL/PgSQL BEFORE INSERT OR UPDATE 触发器函数来实现此约束。

参见PL/PgSQL trigger procedures在 Pg 文档中。

您可能需要使用SERIALIZABLE隔离模式来处理一个事务插入B而另一个事务插入A的竞争。您需要 9.1/9.2 中改进的serialized 隔离支持。

关于java - 如何在 JDBC 中创建断言?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13673901/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com