老大,SQL中的游标有什么优点?一般在什么情况下使用比较多的啊?触发器与游标一起使用有什么优点?一般在什么情况下一起使用啊?
希望给个例子啊?

解决方案 »

  1.   

    小弟,SQL中的游标有可以循环操作的优点!一般在无法变通使用结果集处理的方式下又不能使用非游标循环的情况下使用比较多!
    触发器与游标一起使用的优点没有什么必然关系!所以要根据你的需求来看!例子等楼下给。
      

  2.   

    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 --删除游标
      

  3.   

    cursor 和 trigger是两个不相关的东西
    cursor是把数据一行一行的取出来处理。
    trigger 是某事件(delete insert update)发生时自动执行相应的命令。