zoukankan      html  css  js  c++  java
  • 游标

    游标:即从某一结果集中逐一地读取一条记录。缺点:所占资源大。

    游标四部分:1.DECLARE游标 2.open游标 3.从一个游标中FETCH信息4.CLOSE或DEALLOCATE游标

    声明游标:

    declare cur_authors cursor

    for

    select id,name,phone,address from authors

    for update(for read only)(for update of au_lname,au_fname    /*只允许修改这两列*/)

    FETCH命令语法规则为:

    FETCH

    [[NEXT|PRIOR|FIRST|LAST|ABSOLUTE{n|@nvar}|RELATIVE{n|@nvar}]FROM]cursor_name

    [INTO @variable_name1,@variable_name2...]

    进行定位修改或删除游标中数据的语法规则为:

    UPDATE table_name

    set column_name=expression

    where current of cursor_name

    DELETE from table_name

    where current of cursor_name

    游标例子1:

    declare @au_id varchar(11),@au_lname varchar(40),@au_fname varchar(20)

    declare authors_cur cursor

    for

    select au_id,au_lname,au_fname from authors

    for update of au_id,au_lname,au_fname  

    open authors_cur 

    fetch next from authors_cur into @au_id,@au_lname,@au_fname

    while @@fetch_status=0

    Begin

    if @au_id='1772-32-1176'

    update authors

    set au_lname='smith',au_fname='jake'

    where current of authors_cur

    fetch next from authors_cur into @au_id,@au_lname,@au_fname

    end

    deallocate authors_cur/*释放游标*/(close the cursor)

     游标例子2:

    declare @Id int,@DepartmentId int
    -- 1.declare cursor
    DECLARE risk_cur CURSOR FOR
    select Id,DepartmentId from ProtectionRisk

    -- 2.open cursor
    OPEN risk_cur
    -- 3.fetch data from cursor then use it
    FETCH risk_cur INTO @Id,@DepartmentId  --select fields in the step 1
    WHILE @@FETCH_STATUS=0
    BEGIN
    update Entity_To_ProtectionRisk set DepartmentId=(select DepartmentId from ProtectionRisk where id=@Id) where ProtectionRiskId=@Id

    FETCH NEXT FROM risk_cur INTO @ID,@DepartmentId 
    END;

    -- 4.close cursor
    CLOSE risk_cur;

    -- 5.release cursor
    DEALLOCATE risk_cur;

  • 相关阅读:
    团 队 作 业 ———— 随 堂 小 测
    Alpha 冲刺 (5/10)
    jquery获取自定义属性(attr和prop)实例介绍
    jQuery中调用WebService方法小结
    ASP.NET程序运行出现WebDev.WebServer40.exe已停止工作解决方法
    Jqurey学习笔记---6、jQuery 效果
    Jqurey学习笔记---5、jQuery 效果
    Jqurey学习笔记---4、jQuery 事件
    Jqurey学习笔记---3、jQuery 选择器
    Jqurey学习笔记---2、jQuery 语法篇
  • 原文地址:https://www.cnblogs.com/cw_volcano/p/1947527.html
Copyright © 2011-2022 走看看