11-14笔记
来源:互联网 发布:python黑帽子视频教程 编辑:程序博客网 时间:2024/04/29 02:38
2012-11-14
----触发器
------在每次插入数据的时候把插入的数据值打印出来
----inserted表,after.
create trigger tri_Class_after
on Class after insert
as
begin
declare @cId int
declare #cName varchar(50)
declare @cDesc varchar(50)
select @cId=clsId,@cName=cName,@cDesc=cDescription from inserted
print @cId
print @cName
print @cDesc
end
inserted into Class values ('java','呵呵')
---将删除的表中(Class)的数据备份到另外一个表中(ClassBak
)
---1建一个空表(ClassBak)与Class的结构一样。
select top 0 * into ClassBak
from Class
select * from ClassBak
---2创建触发器
create trigger tri_Class_Delect_after
on Class after Delect
as
begin
set identity_insert ClassBak on
insert into ClassBak(clsId,cName,cDescription)
select * from deleted
set identity_insert Classbak off
end
delete from Class where clsId='10'
set identity_insert Class on
insert into Class (clsId,cName,cDescription)
select * from ClassBak
set identity_insert Class off
---替换触发器(instead of)--替换删除操作
drop trigger tri_Class_Delete_after2
create trigger tri_Class_Delete_instead_of
on Class instead of delete
as
begin
set identity_insert ClassBak on
insert into ClassBak select * from deleted
set identity_insert ClassBak off
end
delete from ClassBak
select * from ClassBak
select * from Class
selete * from Class where clsId=10
use TestSchool
select * from TblTeacher
---使用游标
---1游标的定义
--(1)定义
declare cur_MyStudent cursor fast_forword
for select * from MyStudent --基于返回一个结果集
--(2)打开
open cur_MyStudent
--(3)操作
fetch next from cur_MyStudent
while @@fetch_status=0 ---while循环说的是多条记录的操作
begin
fetch next from cur_MyStudent
end
--(4)关闭
close cur_MyStudent
--(5)释放
deallocate
select * from TblTeacher
select * from TblteacherSalary
------1将老师的工资更新,更新后的金额为原来的工资+奖金。
----第一,定义两个变量,来存放TblTeacherSalary表中的tTId和reward
declare @id int
declare @reward money
declare cur_Reward cursor fast_forward
for select tTId,reward from TblTeacherSalary ---基于查询的数据集
open cur_Reward
fetch next from cur_Reward into @id,@reward
while @@fetch_status=0
begin
update TblTeacher set tTSalary=tTSalary+@reward wheretTId=@id
fetch next from cur_Reward into @id,@reward
end
close cur_Reward
deallocate cur_Reward
--2将奖金中的reward设置为工资的0.1倍
declare @sid int
declare @salary money
--1定义游标
declare cur_reward2 cursor fast_forward
for select tTId from TblTeacherSalary
--打开
open cur_reward2
fetche next from cur_reward2 into @SId
while @@fetch_status=0
begin
--set @salary=(select tTSalary from TblTeacher)
select @salary=tTSalary from TblTeacher
--更新奖金表
update TblTeacherSalary set reward=@salary*0.1 wheretTId=@sid
end
close cur_reward2
deallocate cur_reward2
- 11-14笔记
- 2013-11-14笔记
- 11月14日笔记
- 笔记14
- 笔记11
- 笔记11
- 笔记11
- 笔记11
- [笔记] 传智播客-javaWeb笔记(11)
- c++11 笔记,c++ 笔记
- 14/11/2014 上课笔记 Pattern Decorator
- 《Scala编程》学习笔记(11~14章)
- 11月14日笔记及心得
- Java学习笔记14
- Spring学习笔记14
- 2009.12.14笔记
- 每日学习笔记(14)
- 【9-14】C笔记
- 关于 python 字符编码的一些认识
- SQL Server DBCC命令
- windows Server 2003服务器上创建任务计划出现任务计划创建失败,显示密钥集不存在错误
- android平台修改默认语言的那点事
- 不均匀分布随机数产生均匀分布随机数
- 11-14笔记
- BIOS
- javaWeb中图片验证码的生成
- 文件的上传与下载--->张国亮总结心得第二季
- CSS框架960Grid
- Windows 服务(六)
- SQL Sever2008 中sa不能登录的解决方法(sa登录失败,错误18456)
- 怎样学习java
- js TextArea获取光标详解说明与实例