gpt4 book ai didi

sql - postgresql 触发器 : disable auto commit and set isolation level

转载 作者:行者123 更新时间:2023-11-29 11:55:34 25 4
gpt4 key购买 nike

我在数据库上写了一个触发器,而不是在一个表上插入,它做了一些操作,然后将数据插入到不同的相关表中。现在我需要禁用自动提交并在触发器中设置不同的隔离级别,我该怎么做?

最佳答案

除了嵌入式 SQL,PostgreSQL 没有禁用自动提交的设置。如果您尝试在 PSQL 中关闭自动提交,您将看到类似此错误的信息。

sandbox=# set autocommit=off;
ERROR: SET AUTOCOMMIT TO OFF is no longer supported

相反,使用 BEGIN 开始事务。在 PostgreSQL 中,您可以启动事务并在单个语句中设置隔离级别。 (其他平台需要多个语句。)Skeleton syntax对于 PostgreSQL 9.2 是

BEGIN [ WORK | TRANSACTION ] [ transaction_mode [, ...] ]

where transaction_mode is one of:

ISOLATION LEVEL { SERIALIZABLE | REPEATABLE READ |
READ COMMITTED | READ UNCOMMITTED }
READ WRITE | READ ONLY
[ NOT ] DEFERRABLE

使用 COMMIT 或 ROLLBACK 结束事务。

关于sql - postgresql 触发器 : disable auto commit and set isolation level,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17927821/

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