触发器(方便备份)

本质上还是一个存储过程,只不过不是通过exec来调用执行,而是通过增删改数据库的操作来执行(可以操作视图)

全部禁用触发器

alter table teacher disable trigger all

全部开启触发器

alter table teacher enable trigger all

create trigger TR_student_delete--默认触发器名

on student --在哪个表上操作

instead of delete --为了对表做什么而建的,‘for’是在执行完外部语句之后用,‘instead of’是直接将要执行的语句替换为执行as里面的语句

as

delete from score where sno =108

delete from student where Sno = 108

go

delete from student where Sno = 108

select *from student

108行被删掉

alter trigger TR_student_delete--默认触发器名

on student --在哪个表上操作

for delete

as

insert into student values(108,'曾鹏','男',1905-05-22,95033)

go

delete from student where Sno = 108

select *from student

*曾华变为了曾鹏

动态触发

create trigger dongtaichufa

on teacher

instead of delete

as

begin

declare @tno varchar(20)

set @tno = (select tno from deleted)—-选择执行语句中的tno所在@tno

update teacher set tname='张三'where tno = @tno

end

go

delete from teacher where Tno='831'

deleted存储删除后的信息,inserted存放更改后的信息。

执行delete语句时的tno=触发器里面的tno,而不是@tno

create trigger TR_teacher_insert

on teacher

for insert

as

begin

declare @tno varchar(20)

set @tno=(select tno from inserted)

---delete from teacher where tno=@tno

declare @sex varchar(10)

set @sex =(select tsex from teacher where tno=@tno)

if(@sex='男')

update teacher set tsex='女'where tno =@tno

else

update teacher set tsex='男'where tno =@tno

end

go

insert into teacher values (800,'王五','男',1990-09-09,'教授','计算机系')

16、SQL基础整理(触发器.方便备份)的更多相关文章

  1. 必杀技———SQL基础整理系列(一)

    SQL(Structured Query Language)——结构化查询语言 SQL语言的组成部分 数据定义语言 (DDL:Data Definition Language) 负责数据结构定义与数据 ...

  2. SQL基础-存储过程&触发器

    一.存储过程 1.存储过程简介 存储过程: 一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,然后通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它. 存储过程的创建: ...

  3. pl/sql基础知识—触发器

    n  触发器简单介绍 触发器是指隐含执行的存储过程,它不是由程序员或者是DBA来显式调用,而是因为某个操作引发执行的.当定义触发器时,必须要指定触法的事件和触发的操作,常用的触发事件包括insert, ...

  4. 11、SQL基础整理(变量)

    变量 定义变量:declare  @hello  varchar(20) 赋值:set  @hello = ‘你好’ select(结果框显示)/print(消息框显示) @hello *三行必须同时 ...

  5. 10、SQL基础整理(约束2)

    约束 除主键约束.外键约束外 唯一约束(主键列.索引列的候选索引)   设计---右键---索引/键---需要修改的列----是唯一的----忽略重复键 代码方式: cid  varchar (20) ...

  6. 8、SQL基础整理(约束)

    约束 主键约束 防止在新增数据时出错,有约束性,起唯一标志的作用,在新增条目的时候防止不慎添加重复内容(不允许有null值) 1.  右键—设计—设置主键 2.在创建表格时设置 code int pr ...

  7. 5、SQL基础整理(字符串函数)

    字符串函数 ASCII 返回字符串首字母的ascii编码 select ASCII('name') select ASCII(name) from xuesheng select *from xues ...

  8. 4、SQL基础整理(规范函数)

    规范函数: 绝对值 select abs(-5) print abs(-5) 表中取绝对值的方法: select code,name,abs(chinese)as yuwen from xueshen ...

  9. 1、SQL基础整理(基本查询)

    分离.附加.备份.还原 --去重 select distinct 列名from表名 --更新 update fenshu set name = ‘李四’where code = 9 --更改表名 sp ...

随机推荐

  1. SVG格式

    SVG格式 编辑 目 录 概述 简介 优势 实例 展现 1概述 SVG格式 SVG是一种用XML定义的语言,用来描述二维矢量及矢量/栅格图形.SVG提供了3种类型的图形对象:矢量图形(vectorgr ...

  2. shell脚本初析

    简单理解:运用很多工具,将复杂的步骤简单化,体现在shell脚本中框架:必须有备注,写的别人能够看得懂开头:#! /bin/bash 代表的意思是改文件使用的是bash语法要想使用该种方法运行shel ...

  3. mysql用户备份与修复

    1.修复表repair table tb1 [use frm]; #红色部分代表可添加也可不加, 2.show variables like '%timeout%';  #查询关键字 3. 更改数据, ...

  4. oracle查询语句大全

    1.查处oracle数据库的字符编码格式 select * from v$nls_parameters t where t.PARAMETER='NLS_CHARACTERSET'; 如果查出的是ZH ...

  5. a标签的css样式四个状态的设计

    表示所有状态下的连接 如 a{color:red} ① a:link:未访问链接 ,如 a:link {color:blue} ② a:visited:已访问链接 ,如 a:visited{color ...

  6. bzoj 1834: [ZJOI2010]network 网络扩容

    #include<cstdio> #include<iostream> #include<cstring> #define M 100000 #define inf ...

  7. ASP.NET MVC学习之路由篇(3)

    根据路由输出链接 既然是网站开发自然少不了链接,我们已经学会了强大的路由,但是还缺少一步就是能够将这些路由的路径输出到页面,下面我们就开始学习如何输出路由路径. 首先我们的路由注册部分如下所示: 1 ...

  8. 3.5电子书pc显示

    使用svgalib 下载地址:https://launchpad.net/ubuntu/+source/svgalib/1:1.4.3-30svgalib_1.4.3.orig.tar.gzsvgal ...

  9. jquery表单提交和重置

    $('#myform').submit() 表单提交 $('#myform')[0].reset() 表单重置

  10. (转载)重新对APK文件签名

    1.将证书(debug.keystore)复制到与需要重新签名的apk文件相同的目录下(如:复制到D:\Sign) 2.在cmd中切换到需要重新签名的apk文件的目录下 3.使用WinRAR打开要重新 ...