首页 > 其他分享 >记一次触发器用最新一条记录更新另外一条记录字段值的操作

记一次触发器用最新一条记录更新另外一条记录字段值的操作

时间:2024-09-29 11:14:11浏览次数:7  
标签:段值 触发器 记录 delivernum MAKECARD createtime WUBO

查询数据库里面最新一条记录的正确思路

  1. 数据库里面的记录肯定有时间字段,找到时间的最大值,在where里面查询最新的的时间
  2. 触发器查询的时候应该加上时间限制,不然随着时间的推移查询越来越慢
  3. 触发器应该是before insert类型 不然会存在递归引用
  4. 使用oracle函数或者mysql函数来执行时间
CREATE OR REPLACE TRIGGER "TRIG_RLRECORDMSTQY_INS_WUBODJ"
BEFORE  INSERT   ON   RLRECORDMSTQY
FOR   EACH   ROW
DECLARE
    delivernum WUBO_MAKECARD.DELIVERYNUM%TYPE;
BEGIN
          SELECT DELIVERYNUM INTO delivernum from
          WUBO_MAKECARD
          WHERE VEHICLENUM = :NEW.CAR_ID AND DELIVERYSTATE <> 3 
          AND createtime >= TRUNC(sysdate - 35)
          AND createtime = (
               select max(createtime) from WUBO_MAKECARD
               WHERE VEHICLENUM =:NEW.CAR_ID AND DELIVERYSTATE <> 3 AND  createtime >= TRUNC(sysdate - 35)
          );
           
          IF delivernum IS NOT NULL THEN
           :new.DELIVERYNUM := delivernum;
          END IF;
      EXCEPTION
          WHEN NO_DATA_FOUND THEN
              NULL; -- 如果没有记录,什么都不做
END;

标签:段值,触发器,记录,delivernum,MAKECARD,createtime,WUBO
From: https://www.cnblogs.com/lovefoolself/p/18439222

相关文章

  • Git仓库代码在不同操作系统里结尾^M问题的记录
    每次按键盘上的Return时,会插入一个称为行结束符的不可见字符^M。不同的操作系统处理行结束符的方式不同。在使用Git或者GitHub协作处理项目时,Git可能产生意外结果。例如,您在Windows计算机上操作,而您的协作者是在macOS或者Linux中做的更改。您可以将Git配置为自动处理行结束符,以......
  • 浅浅记录学习情况叭
    BasicConcepts对于一个给定的网络G=(V,E),其中V为网络的节点集,E为网络的边集.Trace(迹):将G划分为q个社区,我们用一个qxq的对称矩阵e来表示该划分,e中的每个元素表示连接社区i与社区j的边在G的全部边中所占的比例显然有∑i,jeij=1。矩阵e的迹Tr(e)表示连接社区内部节点的边......
  • 记录一个使用第三方USDT支付通道的PHP项目的开发过程及解决方案
    项目的需求背景接到一个项目,需要收付USDT,顾客要求用币安链的,即BSC链,需要实现:充值监控:当用户通过区块链钱包将USDT转账到指定地址时,系统能够监控并确认充值到账。提现功能:当用户发起提现请求时,系统能够根据用户指定的地址,自动完成USDT的转账操作。交易安全性:确保每笔交易......
  • Java线程池内容记录
    线程池实现了对线程的复用,统一管理和维护线程,减少没有必要的开销。为什么要用线程池?为了提高效率,需要将一些业务采用多线程的方式去执行。几乎所有需要异步或并发执行任务的程序都可以使用线程池。线程池的概念和连接池是类似的。在Java集合中存储大量的线程对象,每次执行异......
  • 【Atcoder训练记录】AtCoder Beginner Contest 373
    https://atcoder.jp/contests/abc373/tasks赛后反思B题第一次读错题意,浪费了几分钟,需加强审题能力对于图论有些生疏,D题为简单图论,在76min的时候才AC,需加强训练图论A题给定12个字符串,求字符串长度\(=i\)的个数,直接模拟#include<bits/stdc++.h>#defineintlonglongu......
  • 团队练习记录2024.9.28
    B-MagicalSubsequencehttps://codeforces.com/gym/103447/problem/B桶+stack,这里用map会TLEstack用一次时间复杂度\(O(1)\)\(156ms/1000ms\)#include<iostream>#include<bits/stdc++.h>usingnamespacestd;typedeflonglongll;voidfio(){ ios::sync_wit......
  • 【训练记录】香港城市大学(东莞)2024新生排位赛
    https://ac.nowcoder.com/acm/contest/91116#questionA题:操作1的时候增加代码行数,每次操作1、2的时候更新一下答案,操作2输出答案即可#include<bits/stdc++.h>#defineintlonglongusingnamespacestd;voidsolve(){ intn,q;cin>>n>>q; intnow=0; intans=0; ......
  • mysql 锁 记录
     表级别锁1.表锁locktablesxxread. 线程只能读locktablesxxwrite其他线程无法读写  2.MDL锁(元数据锁 MDL是为了对表执行CRUD操作时,防止其他线程对这个表结构做了变更,反之亦然注意 MDL是在事务提交后才会释放,因此长事务可能导致修改表操作阻塞  ......
  • [题目记录]一本通高手训练-01背包
    题意有\(n\)个物品,每个物品体积为\(s_i\),价值为\(v_i\),求背包容量为\(1,2,\cdotsm\)时最大价值.\(n\le1e6,m\le1e5,s\le300,v\le1e9\)时空限制\(5s,512MB\)题解普通01背包复杂度\(O(nm)\),无法满足\(n\le1e6,m\le1e5\).发现\(s\le300\),可以考虑......
  • CSP & NOIP 模拟赛记录
    9.18(lanos212)T1签到,10mins内过了。T2乍一看有点困难,题目太形式化,不太直观,先跳过去思考T3了,T3没有什么DP的思路,但是这种题显然需要DP。看了一眼T4,被一堆式子糊脸恶心了,没有怎么思考。接下来一个小时在思考T2和T3,突然发现T2只需要每次求最短路就可以了,那么就是......