触发器 随写

2024-02-24 19:58
文章标签 触发器 随写

本文主要是介绍触发器 随写,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

列子:

create table testproc if not exists (

`i_id` int(11) primary key,

`i_name` varchar(30) character set utf8 not null,

`url` varchar(40) character set utf8 not null

)engine=myisam default charset=utf8;


create table tree_test if not exists(

`form_id` int(11) not null,

`parent_form_id` int(11) not null

)engine=myisam default charset=utf8;

drop trigger if exists pseudohash_crc_ins;
create trigger pseudohash_crc_ins before insert on testproc  for each row
begin set @x = "hello trigger";
      
       set NEW.i_name=crc32(NEW.url);
       set new.url=@f;
end;
drop trigger if exists pseudohash_crc_upd;
create trigger pseudohash_crc_upd before update on testproc  for each row
begin set @x = "hello trigger";
      update tree_test set  parent_form_id=crc32(NEW.url)where form_id=new.i_id;
end;

前提是  必须有这两张表  tree_test,testproc


before insert  :是说 在往自己表里插入一条数据之前  需要做的事情,这里的逻辑是  插入之前  现在要插入的 url字段参数 用crc32 转成一串数字 然后再赋值给当前要插入的i_name字段,如果你插入值  写了 i_name 参数,那么这儿会把你写的那个参数值覆盖掉。

new : 是代表  你当前将要修改的  或者插入的  一条数据

old:  是代表   之前最后一次 修改过的  或者插入过的数据

before update:  修改之前

after   update : 修改之后

不知道  存储过程 和函数 能不能和触发器 在一块用,因为有的文章说“  触发程序不能调用将数据返回客户端的存储程序,也不能使用采用CALL语句的动态SQL
(允许存储程序通过参数将数据返回触发程序)
”,没太看懂,没测试。


如下有个截图:

优缺点:



这篇关于触发器 随写的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/743201

相关文章

Oracle数据库(触发器、存储过程、函数、包)

一、触发器(trigger) 推荐练习文档: http://wenku.baidu.com/link?url=brtd9myO4XIaEjRPaRB0yWgV2_TfXmNxS6KKjB_avq7d0hPs3SknJdrs-JLtWe–H-f3q-I61HUxkcqqAFMC0z6Zf65QBbmFRB8TAlULmGS http://www.cnblogs.com/friends

Flink实例(115):自定义时间和窗口的操作符(十四)窗口操作符(四)触发器(Triggers) (二)

Flink 中窗口是很重要的一个功能,而窗口又经常配合触发器一起使用。 Flink 自带的触发器大概有: CountTrigger: 指定条数触发ContinuousEventTimeTrigger:指定事件时间触发ContinuousProcessingTimeTrigger:指定处理时间触发ProcessingTimeTrigger: 默认触发器,窗口结束触发EventTime

Oracle19C触发器

触发器可以看作一种特殊的存储过程,它定义了一些在数据库相关事件(如INSERT、UPDATE、CREATE等事件)发生时应执行的“功能代码块”,通常用于管理复杂的完整性约束,或监控对表的修改,或通知其他程序,甚至可以实现对数据的审计功能。 1. 触发器简介 触发器是通过触发事件来执行的(存储过程的调用或执行是由用户或应用程序进行的)。能够引起触发器运行的操作就被称为触发事件,如执行DML

SQL server触发器简单示例

一:触发器是一种特殊的存储过程,它不能被显式地调用,而是在往表中插入记录﹑更新记录或者删除记录时被自动地激活。所以触发器可以用来实现对表实施复杂的完整性约束。   二:SQL Server为每个触发器都创建了两个专用表:Inserted表和Deleted表。这两个表由系统来维护,它们存在于内存中而不是在数据库中。这两个表的结构总是与被该触发器作用的表的结构相同。触发器执行 完成

oracle触发器浅析

1.定义:数据库触发器是一个与表相关联的,存储的pl/sql程序 2.作用:每当一个特定的数据操作数据(insert,update,delete)在指定的表上操作时,oracle自动滴执行触发器中的语句序列 3.语法:create [or replace] trigger 触发器名before/After(执行前/后出发) insert(执行操作insert,update,delete[of

Quartz.Net_侦听触发器

简述 触发器执行任务时存在数个阶段,利用侦听器可以在对应的阶段执行一些代码 如何侦听 1.实现ITriggerListener接口,并实现其函数,具体说明见代码注释 public class DeleteAfterCompleted : ITriggerListener{public string Name => "X";// 触发时public async Task TriggerFi

SQL Server触发器的创建

参考http://blog.csdn.net/fredrickhu/article/details/4708906一 (一)先打开sql server数据库,创建数据库Stu ,创建两个表: create database Stu create table Student(StudentID int primary key,StudentName nvarchar(50)

Oracle—触发器(转)

触发器的种类和触发事件 触发器必须由事件才能触发。触发器的触发事件分可为3类,分别是DML事件、DDL事件和数据库事件。 每类事件包含若干个事件,如下所示。数据库的事件是具体的,在创建触发器时要指明触发的事件。 种 类 关 键 字 含 义: DML事件是针对数据,DDL事件是针对对象(表,视图,触发器,存储过程等等),数据库事件针对数据库服务。 DML事件(3种)

008 数据库对象—触发器—讲解

触发器看的我一知半解,看到师兄的一篇触发器的博客特别好,看完以后觉得茅塞顿开,我这个闷葫芦终于也开窍了!先跟大家分享一下这犀利的好文章,其后是我个人的一下补充和思维导图。 分享: 触发器简介: 触发器(trigger)是种特殊的存储过程,它的执行不是由程序调用,也不需要手动操作,它是由事件来触发,事件大家应该非常熟悉吧,比如按钮的Click事件、网页的Load事件等。按钮的Click

数据库里面的updateTimed选择代码更新和还是数据库触发器自动更新?

1.updateTime更新可以归纳以下几种: 在项目中,当对数据库的数据进行修改时,updateTime(或类似的表示最后更新时间的字段)的更新时机通常取决于你的应用程序逻辑或使用的数据库框架(如ORM)的行为。 手动更新:最直接的方式是在你的代码中,每次对数据库中的记录进行修改时,显式地更新updateTime字段。这通常涉及到在更新记录的SQL语句中包括updateTime字段,并设置其