SQL学习笔记8 ---触发器
来源:互联网 发布:80端口为什么要备案 编辑:程序博客网 时间:2024/06/04 17:51
创建触发器
create trigger deleteNewClass //在表NewClass中创建触发器deleteNewClass ,表中有数据删除时执行删除表News中Classid=3的数据
on NewClass
after delete
as
delete News from News,deleted whereNews.Classid=deleted.ID
Alter trigger newscount
on News
after update
as
begin
declare @rownum int--存储当前是哪一行
declare @titalcount int --总共有多少行
declare @tempid int--保存当前行的newsid
declare @countnews int
declare @tab table(indexid int Identity(1,1) not null,newsid int)--定义一个临时表
insert into @tab select ID from News--把News中的ID插入表中的newsid里
-- select *from @tab
set @titalcount=@@ROWCOUNT--统计临时表有多少行
set @rownum=1
while @rownum<@titalcount--遍历临时表中的数据
begin
select @tempid=newsid from @tab where indexid=@rownum--把每一行的indexid赋给变量@tempid
select @countnews=COUNT(*) from NewClass where ID=@tempid--NewClass中ID=@tempid的总共数据
update NewClass set countnews=@countnews where ID=@tempid
set @rownum+=1
end
end
deleted与inserted数据的差异
Inserted 存放进行insert和update操作后的数据
deleted存放进行delete和update操作前的数据
二者结构与触发器作用的表结构是一样的,只是存放的数据有差异
update操作相当于先进行delete再进行insert,所以在进行update操作时,修改前的数据拷贝一条道delete表中,修改后的数据存到触发器作用的表中,同时还要拷贝一条到inserted表中
- SQL学习笔记8 ---触发器
- SQl学习笔记7--触发器
- SQL查询艺术学习笔记--SQL触发器
- 【SQL Server学习笔记】DML触发器、DDL触发器
- pl/sql学习笔记——触发器
- ORACLE PL/SQL 触发器(trigger)学习笔记
- SQL SERVER 学习笔记(触发器)
- ORACLE PL/SQL 触发器(trigger)学习笔记
- sql学习笔记(21)-----------触发器
- Sql server 触发器笔记
- SQL笔记:触发器
- sql触发器入门学习
- sql触发器入门学习
- SQL触发器实例学习
- SQL Server2000视图、存储过程、触发器学习笔记
- SQL Server 2000 程序设计学习笔记--第九章 触发器
- sql server 2005学习笔记之触发器简介
- sql server 2005学习笔记之触发器简介
- [3月6日的脚本] 统计指定文件扩展名的文件数目 (PowerShell)
- dede自定义表单php验证方法之一
- window.showModalDialog()方法在Chrome下不能使用的解决方法
- bash参考手册之四(shell内建命令)续四
- iPhone开发教程 UI基础课程(58课时)
- SQL学习笔记8 ---触发器
- SQL优化-索引、查询优化及分页算法方案
- 迷宫找出路代码
- android添加开机声音
- 21个强大的Javascript框架
- [3月7日的脚本] 如何移除磁盘空间不足警告 (PowerShell)
- ASP.NET Single Page Application (SPA) and template libraries
- Servlet过滤器大全
- python共享内存