postgresql 触发器:禁用自动提交并设置隔离级别

2023-12-12

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


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

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

相反,使用 BEGIN 来启动事务。在 PostgreSQL 中,您可以在单个语句中启动事务并设置隔离级别。 (其他平台需要多个语句。)骨架语法对于 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 结束事务。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

postgresql 触发器:禁用自动提交并设置隔离级别 的相关文章

  • 当从属文本框中没有输入文本时,如何让 gridview 显示所有表格行?

    下面的代码可以正常工作 并根据文本框中输入的文本过滤我的网格视图 当我的文本框中没有输入任何文本时 我没有得到任何结果 并且无法理解为什么 我的问题 如何让gridview显示all当文本框中没有输入文本时表行 MSSQL Search n
  • 选择多列 按一列分组 按计数排序

    我在Oracle中有以下数据集 c1 c2 c3 1A2 cat black 1G2 dog red B11 frog green 1G2 girl red 试图得到以下结果 基本上我首先尝试获取具有重复 c1 的行 c1 c2 c3 1G
  • 如何使用基于时间的触发器每小时运行一个脚本,仅在工作日的整点运行?

    我只需要在工作日每小时运行一个 Google App Script 脚本 两者之一似乎很容易做到 但将其结合起来我不确定 每小时触发 ScriptApp newTrigger RefreshRates timeBased inTimezon
  • 使用 MacPorts 在 Mac OS X 10.5 上安装 PostgreSQL 时出错

    我已经使用 MacPorts 在几台不同的计算机上安装了 PostgreSQL 没有问题 但是当涉及到我自己的笔记本电脑时 我无法构建它 当我执行此命令时 sudo port install postgresql83 我收到此错误 chec
  • 带有可变 WHERE 子句的批量 UPDATE 表

    我有一堆值对 foo1 bar1 foo2 bar2 我想做一堆更新 将 foo 列设置为 foo1 其中 bar 列为 bar1 我正在使用 psycopg2 在 Python 中执行此操作 我可以executemany与查询UPDATE
  • postgresql:插入...(选择*...)

    我不确定它是否是标准 SQL INSERT INTO tblA SELECT id time FROM tblB WHERE time gt 1000 我正在寻找的是 如果 tblA 和 tblB 位于不同的数据库服务器中怎么办 Postg
  • H2 SQL 日期比较

    在 H2 数据库中 如何在 TIMESTAMP 类型的列上运行查询 SELECT FROM RECORDS WHERE TRAN DATE lt 2012 07 24 Try 2012 07 24
  • SQL Server:为什么 ISO-8601 格式的日期依赖于语言?

    我需要一些帮助来理解 SQL Server 中的日期格式处理 如果您尝试以下操作 它将返回正确的结果 SET LANGUAGE English SELECT CAST 2013 08 15 AS DATETIME 2013 08 15 00
  • Oracle SQL 函数中可以有 commit 语句吗

    在 SQL 函数中使用 COMMIT 语句是否可能 有意义 从技术上来说 答案是肯定的 你can请执行下列操作 create or replace function committest return number as begin upd
  • 如何拥有引用另一个表的检查约束?

    我在 SQL Server 2008 数据库中有以下表 tblItem 其中有一个ItemID field 好项目 它还有一个 ItemID 字段 并且有一个指向 tblItem 的外键 tblBadItem 它也有一个 ItemID 字段
  • 如何使用原始 SQL 查询实现搜索功能

    我正在创建一个由 CS50 的网络系列指导的应用程序 这要求我仅使用原始 SQL 查询而不是 ORM 我正在尝试创建一个搜索功能 用户可以在其中查找存储在数据库中的书籍列表 我希望他们能够查询 书籍 表中的 ISBN 标题 作者列 目前 它
  • TimescaleDB 查询选择列值较上一行发生更改的行

    最近刚刚开始使用 TimescaleDB 和 Postgres 来处理大多数数据请求 然而 我遇到了一个问题 即我对时间序列数据的请求效率极低 它是一个可以是任意时间长度 具有特定整数值的数据系列 大多数时候 除非出现异常 否则该值将是相同
  • 在Oracle中使用IW和MM

    我使用 IW 表示每周结果 使用 MM 表示每月结果 但我总是收到错误 ORA 00979 not a GROUP BY expression 00979 00000 not a GROUP BY expression 我的疑问是这些 We
  • SQL查询查找具有特定数量关联的行

    使用 Postgres 我有一个架构conversations and conversationUsers Each conversation有很多conversationUsers 我希望能够找到具有确切指定数量的对话conversati
  • 解析错误:语法错误,意外的 T_RETURN [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 遇到这个问
  • ALTER TABLE 语句与 FOREIGN KEY 约束冲突

    为什么要添加外键tblDomare表导致此错误 ALTER TABLE 语句与 FOREIGN KEY 约束 FK tblDomare PersN 5F7E2DAC 冲突 冲突发生在数据库 almu0004 表 dbo tblBana 列
  • Ruby ActiveRecord 和 sql 元组支持

    ActiveRecord 是否支持 where 子句中的元组 假设底层数据库支持 结果 where 子句看起来像这样 where name address in John 123 Main St I tried Person where n
  • 更改表添加列并在同一条件 IF 语句中更新新列

    我正在尝试添加列并在同一 if 语句中更新它 BEGIN TRAN IF NOT EXISTS SELECT 1 FROM sys columns WHERE Name N Code AND Object ID Object ID N Te
  • PostgreSQL:删除数据库但数据库仍然存在[重复]

    这个问题在这里已经有答案了 我是 PostgreSQL 的新手 我尝试着理解它 我熟悉数据库和MySQL 我正在尝试删除我创建的数据库 因为 psql 似乎忽略了我尝试通过 Django 推送的更改 当我执行时 l我得到以下回复 List
  • 查看Jasper报告执行的SQL

    运行 Jasper 报表 其中 SQL 嵌入到报表文件 jrxml 中 时 是否可以看到执行的 SQL 理想情况下 我还想查看替换每个 P 占位符的值 Cheers Don JasperReports 使用 Jakarta Commons

随机推荐

  • 在 JavaScript 中创建一个新的 Location 对象

    是否可以在 JavaScript 中创建一个新的 Location 对象 我有一个字符串形式的 url 我想利用 javascript 已经提供的内容来访问它的不同部分 这是我正在谈论的一个例子 我知道这不起作用 var url new w
  • 如何备份 MySQL 数据库?

    备份包含数百万条目的数据库时需要考虑什么 有没有我可以使用的工具 可能与 MySQL 服务器捆绑在一起 根据您的要求 我自己一直在使用以下几种选项 如果不需要热备份 请关闭数据库服务器并在文件系统级别进行备份 即 e 使用 tar rsyn
  • mySQL 在一个查询中从多个表获取信息

    我对 SQL 非常陌生 在尝试了一些不同的 google 搜索并阅读了一些 SQL 教程后 似乎无法获取所需的信息 我认为它涉及某种连接 但无法将它们弄直 给出以下示例表 表 1 活动 每次任务更改时都会更新 每天可能更新多次 ID Who
  • 使用 ID 令牌进行 REST API Firestore 身份验证

    我有一个 Firestore 数据库和一个用户 在用户通过 REST 请求登录后 我能够检索用户的 ID 令牌 我将使用 ID 令牌来请求从数据库读取 写入 当安全规则打开 任何人都可以读 写 时 我可以使用 Python 请求以这种方式读
  • 如何检索 Mongodb 数组中存在的所有匹配元素?

    我有如下所示的文档 name testing place London documents x 1 y 2 x 1 y 3
  • JavaFX TableView 和 ObservableList - 如何自动更新表?

    我知道类似的问题已经在不同的日期被问过 但我会在这里放置一个 SSCCE 并尝试简单地提出这个问题 我希望能够更新数据模型 并自动更新其上的任何视图 这样任何更新模型的调用者都不知道当前存在的任何视图 这是我到目前为止学到 尝试过的 并且没
  • 无法以正确的格式对特殊字符电子邮件、gmail api 和 ae.net.mail 进行编码

    我正在开发一个可以发送带有附件的电子邮件的应用程序 它可以工作 直到我尝试特殊字符 我尝试了一下不同的编码 看起来主题是用 ISO 8859 1 编码的 而邮件的其余部分是用 UTF 8 编码的 这是我生成 Google Gmail API
  • 使用 CodeRunner 扩展通过 VStudio Code 运行 C++

    我无法使用 Code Runner 扩展从 VStudio Code 运行我的 cpp 文件 当我更换时 include test h with include test cpp 主要它工作正常 但将其替换回来会给我以下错误 运行 cd c
  • Facebook OAuthException:(#1)

    我有一些将图像上传到用户个人资料的应用程序 几个小时前 所有应用程序都工作正常 但现在请求上传时 会出现此错误 Fatal error Uncaught OAuthException 1 An unknown error occurred
  • WordPress插件如何添加内容?

    这可能是一个奇怪的问题 当我添加 Facebook Like Button 和 Gigpress 等插件时 它们提供了在每个单页博客文章之前或之后插入内容的选项 例如 我将 Gigpress 和 FB Like 按钮设置为在我的帖子文本下方
  • Oracle 触发器每月检查约束

    只是想知道是否可以创建一个触发器来每月检查指定的约束基础 eg 桌租 ID 会员 书籍 1 约翰 童话 2 约翰 摩擦 3 约翰 漫画 4 约翰 杂志 限制 会员每月只允许借阅4本书 我想过使用 count book 有什么建议吗 使用触发
  • 使用 SIMD 查找素数列表 - SSE/AVX

    我很好奇是否有人对如何使用 SIMD 查找素数列表有建议 我特别感兴趣如何使用 SSE AVX 来做到这一点 我一直在研究的两种算法是试除法和埃拉托斯特尼筛法 我设法找到一种使用 SSE 进行试除的方法 我找到了一种更快的除法方法 该方法非
  • Hadoop 从 Hadoop 节点的本地文件系统访问第 3 方库

    我的所有 Hadoop 节点上都有一个 jar 文件 位于 home ubuntu libs javacv 0 9 jar 以及其他一些 jar 文件 When my 映射减少应用程序正在执行Hadoop节点 我收到此异常 java io
  • XML 反序列化和松散数组项

    因此 我正在处理一些我认为很可能格式错误的 XML 文件 并且我正在尝试弄清楚如何以及是否可以使用 XmlSerializer 将此 XML 反序列化为逻辑业务对象 假设我有以下 XML 文件
  • 我如何找出谁强制推送了 git?

    有人用过git push force但我无法从日志中看出是谁干的 有没有办法找出罪魁祸首 2018 年 11 月更新 如果您要推送到集中式 Git 存储库托管服务 例如 GitHub then你将能够看到谁强制推送了你的分支 但这只是因为
  • 将二维矩阵向右旋转[重复]

    这个问题在这里已经有答案了 我想要一个二维矩阵向右旋转 它编译得很好 但是当我尝试运行时 它说数组索引越界异常 例如 我想要 10 20 30 40 50 60 旋转成 40 10 50 20 60 30 public static int
  • 使用 WCF 从类库公开对象

    我正在使用一个公开一些对象的类库 这些对象有几个属性来保存我的客户所需的数据 我想创建一个 WCF 服务 将对象返回给我的客户端 但我无法更新类库以添加 DataContract 和 DataMember 属性 暴露这些对象的最简单方法是什
  • 通过蓝牙将 GPS 位置发送到 iOS 设备

    我们正在寻找一种通过蓝牙将 GPS 位置发送到 iPhone 或 iPad 的方法 这样做的好处是 外部 GPS 设备可以比 iOS 中的内置 GPS 设备产生更准确的位置 出于我们的测试目的 如果能够由 QA 手动生成 GPS 也很好 我
  • 如果 OpenProcess() 因 ACCESS_DENIED 失败,如何从 pid 获取进程文件名?

    我正在尝试从其 pid 获取进程名称 用户以管理员身份运行 UAC 已启用 但未提升 一些系统进程 例如services exe 以这样的方式设置他们的安全性OpenProcess PROCESS QUERY INFORMATION 失败了
  • postgresql 触发器:禁用自动提交并设置隔离级别

    我正在数据库上编写一个触发器 而不是在表上插入 进行一些操作 然后将数据插入到不同的相关表中 现在我需要禁用自动提交并在触发器内设置不同的隔离级别 我该怎么办 除了嵌入式 SQL 之外 PostgreSQL 没有禁用自动提交的设置 如果您尝