触发器
触发源:insertupdatedelete
after:在触发源执行后执行触发器中的代码
insteadof:在触发源执行前执行触发器的代码,同时触发源的操作被废弃
语法:
createtrigger触发器名
on表名afterinsert,update,delete--可以3个都写,也可以只写1个
as
begin
...
end
游标
作用:可以逐条操作表中的数据
缺点:性能低,尽量不要使用
示例:为每个人的英语成绩加个随机数
--定义游标
declares1cursorforselectName,Gender,EnglishfromTable_1
--在访问游标中某行的数据时,需要声明变量
declare@sNamenvarchar(50)
declare@sGenderbit
declare@sEnglishnvarchar(10)
--打开游标
opens1
--通过游标从结果集中取数据。注意:每次取一行的值
fetchs1into@sName,@sGender,@sEnglish
--这个全局变量的意思是:当fetch这行没有问题时,就等于
while(@@FETCH_STATUS=0)
begin
set@sEnglish=@sEnglish+RAND(100)
updateTable_1setEnglish=@sEnglishwhereName=@sNameandGender=@sGender
--再取,才能循环起来
fetchs1into@sName,@sGender,@sEnglish
end
--关闭游标
closes1
--释放游标
deallocates1
新闻热点
疑难解答