• Oracle/PLSQL WHERE CURRENT OF Statement


     
    Oracle/PLSQL: WHERE CURRENT OF Statement
     
    If you plan on updating or deleting records that have been referenced by a Select For Update statement, you can use the Where Current Of statement.
    译:如果你想删除或者更新被Select For Update引用的记录,你可以使用Where Current Of语句。
    The syntax for the Where Current Of statement is either:
    UPDATE table_name
        SET set_clause
        WHERE CURRENT OF cursor_name;
    OR
    DELETE FROM table_name
    WHERE CURRENT OF cursor_name;
     
    The Where Current Of statement allows you to update or delete the record that was last fetched by the cursor.
    译:Where Current Of语句允许你更新或者是删除最后由cursor取的记录。
    Updating using the WHERE CURRENT OF Statement
    Here is an example where we are updating records using the Where Current Of Statement:
    译:下面一个使用Where Current Of更新记录的例子:
    CREATE OR REPLACE Function FindCourse
       ( name_in IN varchar2 )
       RETURN number
    IS
        cnumber number;
        CURSOR c1
        IS
           SELECT course_number, instructor
            from courses_tbl
            where course_name = name_in
            FOR UPDATE of instructor;

    BEGIN
    open c1;
    fetch c1 into cnumber;

    if c1%notfound then
         cnumber := 9999;
    else
         UPDATE courses_tbl
            SET instructor = 'SMITH'
            WHERE CURRENT OF c1;
        COMMIT;
    end if;

    close c1;
    RETURN cnumber;
    END;
     
    Deleting using the WHERE CURRENT OF Statement
    Here is an example where we are deleting records using the Where Current Of Statement:
    译:下面一个使用Where Current Of删除记录的例子:
    CREATE OR REPLACE Function FindCourse
       ( name_in IN varchar2 )
       RETURN number
    IS
        cnumber number;
        CURSOR c1
        IS
           SELECT course_number, instructor
            from courses_tbl
            where course_name = name_in
            FOR UPDATE of instructor;

    BEGIN
    open c1;
    fetch c1 into cnumber;

    if c1%notfound then
         cnumber := 9999;
    else
         DELETE FROM courses_tbl
            WHERE CURRENT OF c1;
        COMMIT;
    end if;

    close c1;
    RETURN cnumber;
    END;
     
     

    再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow

  • 相关阅读:
    python 结巴分词简介以及操作
    JWT(Json web token)简介
    为什么推荐前端使用Vue.js
    Vue 加载外部js文件
    Docker简介以及操作
    'QueryDict' object is not callable 错误解析
    django- Vue.js 操作
    django —— KindEditor
    websocket ----简介,以及demo
    python --商品评价---- 数据表结构以及理解
  • 原文地址:https://www.cnblogs.com/skiwdhwhssh/p/10342264.html
Copyright © 2020-2023  润新知