1:游标的优点 从游标定义可以得到游标的如下优点,这些优点使游标在实际应用中发挥了重要作用: 1)允许程序对由查询语句select返回的行集合中的每一行执行相同或不同的操作,而不是对整个行集合执行同一个操作。 2)提供对基于游标位置的表中的行进行删除和更新的能力。 3)游标实际上作为面向集合的数据库管理系统(RDBMS)和面向行的程序设计之间的桥梁,使这两种处理方式通过游标沟通起来。 2:给出具体的例子: declare @id nvarchar(20) --定义变量来保存ID号 declare @A float --定义变量来保存值 declare mycursor cursor for select * from tb_c --为所获得的数据集指定游标 open mycursor --打开游标 fetch next from mycursor into @id,@A --开始抓第一条数据 while(@@fetch_status=0) --如果数据集里一直有数据 begin select tb_b.name,(tb_b.gz + @A) from tb_b where tb_b.id = @id --开始做想做的事(什么更新呀,删除呀) fetch next from mycursor into @id,@A --跳到下一条数据 end close mycursor --关闭游标 deallocate mycursor --删除游标
触发器与游标一起使用的优点没有什么必然关系!所以要根据你的需求来看!例子等楼下给。
从游标定义可以得到游标的如下优点,这些优点使游标在实际应用中发挥了重要作用:
1)允许程序对由查询语句select返回的行集合中的每一行执行相同或不同的操作,而不是对整个行集合执行同一个操作。
2)提供对基于游标位置的表中的行进行删除和更新的能力。
3)游标实际上作为面向集合的数据库管理系统(RDBMS)和面向行的程序设计之间的桥梁,使这两种处理方式通过游标沟通起来。
2:给出具体的例子:
declare @id nvarchar(20) --定义变量来保存ID号
declare @A float --定义变量来保存值
declare mycursor cursor for select * from tb_c --为所获得的数据集指定游标
open mycursor --打开游标
fetch next from mycursor into @id,@A --开始抓第一条数据
while(@@fetch_status=0) --如果数据集里一直有数据
begin
select tb_b.name,(tb_b.gz + @A) from tb_b where tb_b.id = @id --开始做想做的事(什么更新呀,删除呀)
fetch next from mycursor into @id,@A --跳到下一条数据
end
close mycursor --关闭游标
deallocate mycursor --删除游标
cursor是把数据一行一行的取出来处理。
trigger 是某事件(delete insert update)发生时自动执行相应的命令。