步步为营-52-触发器

说明:好比事件

需要了解两个表 inserted表和deleted表

新增数据:先把数据添加到inserted中,然后添加到对应的表中

删除数据:把数据添加到deleted表中,然后删除数据

更新操作:把旧的数据放入到deleted表中,把新的数据放入到inserted表中.更新数据

1.1 语法

Create trigger 触发器名称 on 表名称

for|After [insert|delete|Update]

as

begin

  sql语句

end

1.2 实例

--触发器,当对表bank进行修改时候,自动添加修改时间
create trigger TR_Bank_AddMakeTime on bank
for insert
as
begin
    declare @Id char(4)
    select @Id = cId from inserted
    Update bank set MakeTime = GETDATE() where cId = @Id
end

sql语句

时间: 2024-08-30 07:03:15

步步为营-52-触发器的相关文章

总结: MySQL(基础,字段约束,索引,外键,存储过程,事务)操作语法

1. 显示数据库列表 show databases; # 查看当前所有数据库 show databases \G   #以行的方式显示 2. 在命令行中,执行sql语句 mysql -e 'show databases' -uroot -p123456 mysqlshow -uroot -p123456 # 不常用,记住上面那个就行了 3.创建数据库语法 create database 数据库名; 例如: create database `HA-test`; 4. 切换数据库 use HA-te

android开发步步为营之52:AsyncTask处理过程中自定义旋转的菊花

 AsyncTask在处理过程中,我们一般会使用一个转动的"菊花"来显示提示当前用户当前的进度,一般呢,我们都不会用系统自带的ProgressDialog,而是自己设计个动画来实现,菊花转动时,不允许用户点击页面,那么把这个菊花放在AlertDialog自定义的页面上,如果转动过程中,允许用户点击页面其他位置,比如搜索城市,那么把这个进度图片直接放在该页面的xml文件上就可以了.给出转动的菊花实现代码 : ) 第一步:动画anim文件下新增rotate_animation.xml

mysql--补充(视图,触发器,事务,存储过程,函数)

一:视图 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名称]即可获取结果集,可以将该结果集当做表来使用. 使用视图我们可以把查询过程中的临时表摘出来,用视图去实现,这样以后再想操作该临时表的数据时就无需重写复杂的sql了,直接去视图中查找即可,但视图有明显地效率问题,并且视图是存放在数据库中的,如果我们程序中使用的sql过分依赖数据库中的视图,即强耦合,那就意味着扩展sql极为不便,因此并不推荐使用 1.1 创建视图 #语法:CRE

python-day48--mysql之视图、触发器、事务、存储过程、函数

一.视图(不推荐使用) 1).视图是一个虚拟表(非真实存在) 2).使用视图我们可以把查询过程中的临时表摘出来,用视图去实现,这样以后再想操作该临时表的数据时就无需重写复杂的sql了,直接去视图中查找即可,但视图有明显地效率问题,并且视图是存放在数据库中的,如果我们程序中使用的sql过分依赖数据库中的视图,即强耦合,那就意味着扩展sql极为不便,因此并不推荐使用 #两张有关系的表 mysql> select * from course; +-----+--------+------------+

mysql_15_触发器

1 USE db_book; 2 SELECT * FROM t_book; 3 SELECT * FROM t_booktype; 4 -- 第九章:触发器 5 -- 第一节:触发器的引入 6 -- 触发器(TRIGGER)是由事件来触发某个操作.这些操作包括INSERT语句,UPDATE语句 7 -- 和DELETE语句.当数据库系统执行这些事件时,就会激活触发器执行响应的操作. 8 9 10 -- 第二节:创建与使用触发器 11 -- 2.1创建只有一个执行语句的触发器 12 -- CRE

SQL触发器实例(上)

1 --1.) 创建测试用的表(testTable) 2 if exists (select * from sysobjects where name='testTable') 3 drop table testTable 4 GO 5 Create Table testTable 6 ( 7 testField varchar(50) 8 ) 9 10 select * from testTable 11 12 13 14 --2.) 创建基于表(testTable)的触发器(testTrig

SQL触发器实例(下)

1 基本语法: 2 Create Trigger [TriggerName] 3 ON [TableName] 4 FOR [Insert][,Delete][,Update] 5 AS 6 --触发器要执行的操作语句. 7 Go 8 9 注意: 10 触发器中不允许以下 Transact-SQL 语句: 11 Alter DATABASE ,Create DATABASE,DISK INIT, 12 DISK RESIZE, Drop DATABASE, LOAD DATABASE, 13 L

pt-online-schema-change中update触发器的bug

pt-online-schema-change在对表进行表结构变更时,会创建三个触发器. 如下文测试案例中的t2表,表结构如下: mysql> show create table t2\G *************************** 1. row *************************** Table: t2 Create Table: CREATE TABLE `t2` ( `id` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KE

11、触发器

1 一.触发器 2 分类: 3 (1)行级触发器:DML,如果操作批量数据,会出现多个影响语句 4 (2)语句级触发器:DML ,如果操作批量数据,会出现一个影响语句 5 (3)instead of 触发器 6 (4)模式触发器:DDL 7 (5)数据库级触发器 :数据库登陆.注销等操作 8 9 --行级触发器语法 10 create or replace trigger 触发器名字 11 before|after (动作update|insert|delete) 12 on 表名 13 for

WPF触发器

WPF中有五种触发器.Trigger.MultiTrigger.DataTrigger.MultiDataTrigger.EventTrigger.最近做WPF的项目,需要学习下.参考了好多人的文章. 1.Trigger 单一触发器 1: <Window x:Class="WpfApplication1.StyleTrigger.StyleTrigger" 2: xmlns="http://schemas.microsoft.com/winfx/2006/xaml/pr