20190422 T-SQL 触发器
-- 1 数据库服务
-- 2 触发器
CREATE TRIGGER no_insert
on xs
AFTER INSERT
AS
BEGIN
RAISERROR('XS不让插入数据',1,1);
ROLLBACK TRANSACTION
END
SELECT *
FROM XS WHERE 学号='14311011'
INSERT INTO xs(学号,姓名,总学分)
values('14311011','soar1','20')
EXEC Sp_helptext no_insert -- sys.sp_ -- 触发器的查看内容
-- 触发器的启用和禁用
-- 删除
DROP TRIGGER no_insert
--重命名
EXEC sp_rename no_insert,new_insert;
-- 禁用和启用触发器,语句
ALTER TABLE XS DISABLE TRIGGER new_insert
ALTER TABLE XS ENABLE TRIGGER new_insert
-- INSERT
-- DELETE
SELECT *
FROM XS WHERE 学号='14311011'
--
DELETE FROM XS
WHERE 学号='14311011'; -- 1
CREATE TRIGGER xs_del
ON XS
AFTER DELETE
AS
BEGIN
SELECT 学号 AS '被删除的学生',姓名 FROM deleted
END
-- UPDATE 更新 ,更新为 test
SELECT *
FROM XS WHERE 学号='14311011'
UPDATE XS SET 姓名='soar'
WHERE 学号='14311011'
SELECT LEN('soar.pang')
--
CREATE TRIGGER XS_UPDATE
ON XS
AFTER UPDATE
AS
BEGIN
SELECT 姓名 as '更改后',学号 FROM inserted;
SELECT 姓名 as '更新前',学号 FROM deleted;
END
-- 真的数据库的触发器
CREATE TRIGGER safty
ON DATABASE -- ALL SERVER 表
FOR DROP_TABLE,ALTER_TABLE -- AFTER
AS
BEGIN
PRINT '当前数据库禁止更新删除动作' --并更
ROLLBACK TRANSACTION
END
DROP TABLE Test_2019_02;
-- 表级、服务器、数据库级别
-- 级联
CREATE TRIGGER trigdel
ON XS
AFTER DELETE
AS
BEGIN
DELETE XK WHERE 学号=(SELECT 学号 from deleted)
END
SELECT * FROM XS where 学号='14311002'
SELECT * from xk where 学号='14311002' -- inner join
-- where
DELETE XS WHERE 学号='14311002'
-- 索引
-- 第一个索引 位置
20190422 T-SQL 触发器的更多相关文章
- SQL触发器实例讲解
SQL触发器实例1 定义: 何为触发器?在SQL Server里面也就是对某一个表的一定的操作,触发某种条件,从而执行的一段程序.触发器是一个特殊的存储过程. 常见的触发器有三种:分别应用于Inser ...
- SQL触发器实例
SQL触发器实例讲解(本文是来自百度文库) 备注:本人建了一个站特价汇,我想记录每个商品的点击量,然后按照点击量来牌名商品,想要提高效率,所以必须得用触发器,下面是本人在百度文库中的找到的学习资料,分 ...
- SQL触发器中的deleted表和inserted表
SQL触发器中的deleted表和inserted表 在触发器语句中用两个特殊的表一个是deleted表和inserted.它们是通过触发器操作自动创建驻留在内存中的临时表. 描述: Deleted表 ...
- SQL 触发器(学生,课程表,选修表)
SQL 触发器(学生,课程表,选修表) 触发器是一种特殊类型的存储过程,它不由用户通过命令来执行,而是在用户对表执行了插入,删除或修改表中数据等操作时激活执行.可以这样形容:存储过程像一个遥控炸弹,我 ...
- Oracle数据库之PL/SQL触发器
Oracle数据库之PL/SQL触发器 1. 介绍 触发器(trigger)是数据库提供给程序员和数据分析员来保证数据完整性的一种方法,它是与表事件相关的特殊的存储过程,它的执行不是由程序调用,也不是 ...
- PB+MS SQL+触发器必须指出
PB+MS SQL+触发器必须指出: 若触发器存在两笔以上的返回值,比方两条update 语句,被误判为数据有改变.存盘不成功. 提示: Row changed between retrieve an ...
- SQL触发器实例(下)
基本语法: Create Trigger [TriggerName] ON [TableName] FOR [Insert][,Delete][,Update] AS --触发器要执行的操作语句. G ...
- SQL 触发器-如何查看当前数据库中有哪些触发器
在查询分析器中运行: use 数据库名goselect * from sysobjects where xtype='TR' sysobjects 保存着数据库的对象,其中 xtype 为 TR 的记 ...
- 【SQL Server】SQL触发器经验详解
[SQL Server]SQL触发器经验详解 | 浏览: 4314 | 更新: 2013-01-07 15:33 25 11 全文阅读分步阅读 加入杂志 步骤 1 2 3 4 5 6 7 8 ...
- SQL触发器 inset自学经验
本人建立了一个特价汇网站,想要记录每个商品的点击量和整个网站的访问量,于是就想用sql 触发器来实现 drop trigger tgr_cg_records_update_column create ...
随机推荐
- PHP为JSON数据的API返回空数组或者空对象
在使用 JSON 作为 API 数据 Content-Type 的时候,会有这样一个问题: 如何返回一个空对象和一个空数组? 使用:json_encode(array()) 得到JSON结果:[] ...
- Oracle 11gR2 RAC DBCA无法识别ASM磁盘组(ORA-19504,ORA-15045,ORA-17502,ORA-15081)
ORA-19504: failed to create file "+DATA" ORA-15045: ASM file name '+DATA' is not in refere ...
- Docker安装和使用(转)
(转)原文地址:https://www.cnblogs.com/xiewenming/p/7903247.html 一,安装Docker 1.1 安装之前保持一个干净的Docker环境 sudo yu ...
- [转]git commit --amend用法
适用场景: 比方说,你的代码已经提交到git库,leader审核的时候发现有个Java文件代码有点问题,于是让你修改,通常有2种方法: 方法1:leader 将你提交的所有代码 abandon掉,然后 ...
- EL表达式具体解释
在 JSP 页面中,使用标签库取代传统的 Java 片段语言来实现页面的显示逻辑已经不是新技术了,然而.由自己定义标签非常easy造成反复定义和非标准的实现.鉴于此.出现了 JSTL ( JSP St ...
- [转] tomcat 7/8 启动非常慢的解决方法
在日志中发现启动慢的地方: -- ::] INFO o.s.c.s.DefaultLifecycleProcessor - Starting beans -- ::] INFO o.s.web.con ...
- etl数据同步工具 kettle
kellet使用 https://www.cnblogs.com/gala1021/p/7814712.html
- Linux下常见命令
=============挂载和登陆命令======================================== Mount:挂载命令. 比方挂载光驱mount /dev/cdrom /mnt ...
- 135、JS和Android交互范例
很简单的直接上代码 <uses-permission android:name="android.permission.INTERNET" /> assets/web. ...
- Linux网络设备驱动 _驱动模型
Linux素来以其强大的网络功能著名,同时, 网络设备也作为三大设备之一, 成为Linux驱动学习中必不可少的设备类型, 此外, 由于历史原因, Linux并没有强制对网络设备贯彻其"一切皆 ...