从同一个表中触发选择

2023-12-11

我想问一个关于触发器的问题。假设我有一个表 T,并且在更新之前需要一个触发器。但是,我有一个问题。我需要使用触发器中 T 的其他行来检查条件。我的问题是:哪些 RDBMS 支持此功能?我可以在哪里编写在触发器触发的同一个表上执行选择的触发器。例如:

CREATE TRIGGER updtrigger BEFORE UPDATE ON Employee
    -> FOR EACH ROW
    -> BEGIN
    -> IF NEW.Salary<=500 THEN
    -> SET NEW.Salary=10000;
    -> ELSEIF NEW.Salary>500 and NEW.Salary < 600 THEN
    -> SET NEW.Salary=15000;
    -> ELSEIF NEW.Salary > (select MAX(Salary) from Employee)
    -> Set NEW.Salary = 601;
    -> END IF;
    -> END
    -> //

谢谢你,

此致,

拉约斯·阿帕德.


例如,给定的触发器将在 Oracle 中抛出 Mutating table 异常,但 Oracle 中有一个解决方案,例如允许此触发器并且工作正常:

CREATE or replace TRIGGER updtrigger BEFORE UPDATE ON Employees
     FOR EACH ROW
DECLARE
 pragma autonomous_transaction;
 n number;
     BEGIN
     select MAX(Salary) into n from Employees;
     IF :NEW.Salary<=500 THEN
          DBMS_OUTPUT.PUT_LINE('kisebb mint 500');
          :NEW.salary:=n;
    end if;
commit;
     END;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从同一个表中触发选择 的相关文章

  • WPF ListBox 触发器不适用于 IsFocused 属性

    我想设计我的风格ListBox并显示一个Border周围 我想隐藏这个Border when ListBox获得焦点
  • PLSQL 触发器通过 SQL 加载器触发

    当我们通过 SQL 加载器插入时 表会被触发吗 请详细解释一下 Oracle 将执行INSERT如果使用常规负载则触发 但是当你使用直接负载时不是 http docs oracle com cd E11882 01 server 112 e
  • 创建新表时在插入之前创建触发器生成 ID 列值

    当在架构 MYSCHEMA 中创建表时 我需要创建一个触发器 在插入每个创建的表之前生成 ID 列 从序列 我怎样才能意识到这一点 我知道 如何通过触发器和序列实现 ID 列的生成 如下所示 CREATE OR REPLACE TRIGGE
  • MYSQL:如何创建一个触发器来根据不同表中的值计算字段值?

    In table A我有田地CENA 价格 cena za kus 每件价格 mnozstvi 数量 In table B我有田地DPH vat 我想添加一个更新 插入之前触发器 它将计算PRICE字段 像这样 price price pe
  • 使用默认 FIREBIRD 将 null 插入非 null 列

    将 null 插入默认的非空列会给我一个验证错误 而不是采用默认值 我不想在所有表上触发之前 还有其他方法可以做到这一点吗 火鸟2 1 3 当您在插入中省略字段时 而不是在包含具有空值的字段时 将使用默认值 Example 使用默认值Nam
  • 如何列出(或导出)数据库中所有触发器的代码?

    我正在将数据库中的当地时间更改为 UTC 时间 有很多触发器将信息复制到当前使用的历史表GETDATE 我想找到每个使用的触发器GETDATE 代替GETUTCDATE 在数据库中 有什么方法可以自动执行此操作 我已将它们列出select
  • WPF 显示/隐藏带有触发器的控件

    我是 WPF 新手 我尝试创建 xaml 逻辑来根据 ViewModel 上的 AllowMiscTitle 值显示 隐藏控件 xaml 由两个字段组成 一个标准图块的组合框 先生 女士 其他 当选择 其他 时 我希望显示文本框 我创建了以
  • SQL Server 更新触发器,仅获取修改的字段

    我知道COLUMNS UPDATED 好吧 我需要一些快速的捷径 如果有人做了 我已经在做了 但如果有人可以节省我的时间 我会感激的 我基本上需要一个仅包含更新的列值的 XML 我需要它用于复制目的 SELECT FROM Insert 为
  • jQuery Mousemove:5px 变化时触发

    出于多种技术原因 我在 jQuery 上实现自己的 可拖动 功能 而不是使用 jQuery UI 并且我使用 mousedown 和 mousemove 事件来侦听尝试拖动元素的用户 到目前为止效果很好 我只是想每移动 5 像素 而不是逐像
  • WPF - 内容更改之前的数据绑定触发

    如何创建在绑定更改值之前触发的触发器 如何对数据模板执行此操作
  • 能否为当前会话禁用 Oracle 触发器?

    我想在将数据插入表之前禁用表上的特定触发器 但是不影响其他用户这可能会改变同一个表中的数据 我找不到任何有记录的方法来做到这一点 这是Oracle 11g 我能想到的最佳解决方案是创建一个会话变量 并让我的应用程序将其设置为触发器在执行工作
  • 在数据库中存储布尔值的最佳数据类型是什么

    在数据库中存储布尔值的最佳数据类型是什么 最常用的 RDBMS 类型 例如 Mysql oracle postgres mssql 都支持它 您可以使用 TINYINT 或位数据类型
  • 更新两个表的 SQL 触发器

    我是 SQL 新手 有人可以帮我修复下面的触发器吗 我有这 2 个表 评论和报价 我想更新评论表插入 更新和删除 从报价表中获取数据 如果更新成功 我想使用 ReviewId 和 ReviewDate 更新报价表 我使用的是Azure提供的
  • jQuery:触发器不会在使用 .load() 加载的元素上触发

    我有index php 并使用jQuery load 从load php 加载内容 当我在 index php 中的元素上触发事件时 该事件将触发 在相同的元素上 当使用 load 加载到 index php 时 事件不会触发 为什么 我做
  • WPF - 将鼠标悬停在另一个元素上时隐藏元素

    网格中有一些元素 我想要的只是当鼠标悬停在矩形上时显示 隐藏按钮
  • 可以用MongoDB做一个关系型数据库吗?

    我将使用 MongoDB 制作一个学生管理系统 我将为学生准备一张桌子 另一张用于记录出勤记录 我可以使用出勤表中的钥匙来访问学生表吗 如下图所示 如何 MongoDB 背后的想法是消除 或至少最小化 关系数据 您是否考虑过将出勤数据直接嵌
  • 如何解决postgresql中group by和聚合函数的问题

    我正在尝试编写一个查询来划分两个 SQL 语句 但它显示了我 ERROR column temp missed must appear in the GROUP BY clause or be used in an aggregate fu
  • PL/SQL 触发器问题

    我正在尝试编写一个触发器来填充包含员工更新工资信息的表 我现在遇到一个无法解决的问题 这是要填充的表 drop table SalUpdates cascade constraints create table SalUpdates Sal
  • 如何在 mysql 或 JDBC 的表中自动插入外键引用?

    我正在使用MySQL 我的问题是如何自动将新添加的行插入外键表中 一个例子可以澄清我的问题 我有两个表 员工 和 薪水 CREATE TABLE Employee emp id int NOT NULL AUTO INCREMENT nam
  • 触发器以捕获服务器中的架构更改

    是否可以实现类似以下触发器的东西 CREATE TRIGGER tr AU ddl All Server ON DATABASE WITH EXECUTE AS self FOR DDL DATABASE LEVEL EVENTS AS D

随机推荐

  • 访问临时内存中用户上传的视频时出现问题

    我正在尝试使用 html 输入类型将用户上传的视频提交到 youtubefile和 python 模块 youtube upload 提交表单后 处理方式如下 if request method POST video request FIL
  • Tensorflow Lite,图像大小零误差

    其实我的问题很简单 我想在tensorflow lite模型中使用我自己的数据 所以 我写了这行代码 root path r C Users 90531 Desktop dataset b image path os path join o
  • 用java抓取一个angularjs网站

    我需要抓取一个由 Angular 插入 内容的网站 而且需要用java来完成 我尝试过 Selenium Webdriver 因为我之前使用过 Selenium 来抓取动态性较低的网页 但我不知道如何处理 Angular 部分 除了页面头部
  • 命名空间命名约定

    对于那些编写可重用组件的人来说 如果要扩展 NET 框架的功能 您认为最佳实践是什么 例如 我目前正在创建一个 Pop3 库 因为 NET 中不存在该库 我是创建自定义命名空间还是使用System Net Mail 来自命名空间命名指南 命
  • 删除Python中每个元素的换行符

    我打开一个文本文件 现在文本文件中的每个元素都用换行符分隔 当我使用readlines 它将这个换行符保留在列表中 这是在每个元素之后 所以它看起来像这样 zebra n ant n 我想知道是否有一个简单的函数或代码片段可以用来删除该换行
  • 安装应用程序后,拖放不再起作用

    我有一个具有拖放功能来导入图像和视频的应用程序 在通过 Visual Studio 进行开发和测试时 从未出现过任何问题 通过设置项目安装后 应用程序中的所有内容都工作正常 除了拖放之外 这似乎什么也没做 是否有任何安全设置需要通过安装程序
  • java:单套接字读写操作。全双工

    我必须实现使用特定源端口发送数据 同时监听该端口 全双工 有谁知道如何在java上实现它 我尝试创建单独的线程来侦听套接字输入流 但它不起作用 我无法将 ServerSocket 和客户端套接字绑定到相同的源端口 并且与 netty 相同
  • 将具有固定大小数组的 C++ 结构编组到 C# 中

    我有一个 C 结构声明如下 public struct AdvertisementData public byte SomeId MarshalAs UnmanagedType LPArray SizeConst 12 public byt
  • 选择每组中的前三个值

    以下是我的示例表和行 create table com company text val int insert into com values com1 1 com1 2 com1 3 com1 4 com1 5 insert into c
  • 如何检查消息是否由特定用户发送discord.py

    我正在使用 Discord py 来制作我的 Discord 机器人 当有人输入消息时 我想检查用户是否是 foo 3645 然后执行某些操作 如果不是 则执行其他操作 if messageAuthor foo 3645 do someth
  • Spring boot 与 H2 数据库自动创建

    我通过 Spring Boot 在我的 Java 应用程序中使用嵌入式 H2 目前 它创建 覆盖 我在数据库中的表 但一旦我把它投入生产 我不希望我的表被擦除并重新创建 所以我不会丢失表中以前的数据 但我不知道如何实现这一点 不知道该放什么
  • 解析动态命名的 JSON 对象最有效的方法是什么?

    我正在尝试解析一个 JSON 响应 其中包含一些我不太熟悉的内容 而且我也没有经常在野外见过 在其中一个 JSON 对象内部 有一个动态命名的 JSON 对象 在这个例子中 里面有一个JSON对象 bugs named 12345 这与错误
  • 对轨迹进行重新采样,使每个样本中的欧氏距离相等

    假设我们有一个 x y 点列表 x 0 0 0 y 0 10 100 点之间的欧几里得距离现在为 10 90 我正在寻找一个接受x y 和sample rate 的函数 并且可以输出相等的距离点 例如 x 0 0 0 y 0 10 100
  • 是否可以绑定 WHERE 名称,如 %:name%

    我正在测试一个小型搜索功能 但我遇到了一个似乎无法解决的错误 您可以在此处查看 PDO 查询 search test1 later to be changes to POST search sql SELECT id name FROM c
  • 如何禁用 Django 的 CSRF 验证?

    我已经注释掉了 csrf 处理器和中间件行settings py 122 123 TEMPLATE CONTEXT PROCESSORS 124 django contrib auth context processors auth 125
  • Entity Framework Core 如何进行任何异步?

    public async Task
  • 我不知道Python中的s[::-1]是什么[重复]

    这个问题在这里已经有答案了 我一直看到这个 s 1 在Python中 我不知道它是做什么的 抱歉 如果这是一个问题 但我是 python 和一般编程的新手 它反转了一个sequence使用切片 gt gt gt s hello gt gt
  • PHP:“...的声明应该与...的声明兼容”

    我想为可 CRUD 可以保存和删除 的实体创建一个接口 这是我的抽象类 abstract class AbstractCrudableEntity extends AbstractEntity abstract public functio
  • 使用 Excel Power Query 使用的 Web API OData 服务进行 WAAD 身份验证

    我使用 OWIN 中间件创建了一个 WebAPI OData 3 0 Web 服务 该服务配置为使用 Windows Azure Active Directory 进行身份验证 ODataController 标有 Authorize 属性
  • 从同一个表中触发选择

    我想问一个关于触发器的问题 假设我有一个表 T 并且在更新之前需要一个触发器 但是 我有一个问题 我需要使用触发器中 T 的其他行来检查条件 我的问题是 哪些 RDBMS 支持此功能 我可以在哪里编写在触发器触发的同一个表上执行选择的触发器