使用WHERE CURRENT OF子句更新

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用WHERE CURRENT OF子句更新相关的知识,希望对你有一定的参考价值。

I can never remember the syntax on the "FOR UPDATE OF" clause!
  1. /* Search query using cursor, then update selected columns in the searched table(s)
  2.   */
  3.  
  4. update_count PLS_INTEGER := 0;
  5.  
  6. CURSOR people_cur IS
  7. SELECT zip_code
  8. FROM addresses
  9. WHERE zip_code = '00000'
  10. FOR UPDATE OF zip_code;
  11. FOR search_rec IN people_cur
  12. UPDATE addresses
  13. SET zip_code = ''
  14. WHERE CURRENT OF people_cur;
  15.  
  16. update_count := update_count + 1;
  17.  
  18. DBMS_OUTPUT.PUT_LINE('Updated ' || update_count || ' addresses.');
  19.  
  20. DBMS_OUTPUT.PUT_LINE('EXCEPTION - ' || SQLCODE || ': ' || SQLERRM);
  21. DBMS_OUTPUT.PUT_LINE('Error stack at top level:');
  22. DBMS_OUTPUT.PUT_LINE(DBMS_UTILITY.format_error_backtrace);

以上是关于使用WHERE CURRENT OF子句更新的主要内容,如果未能解决你的问题,请参考以下文章

在查询 where 子句中使用 Grafana 文本框面板变量

使用 'where current of' 的动态 SQL

Oracle/PLSQL WHERE CURRENT OF Statement

sql面试题_SQl优化技巧_1注意通配符中like的使用,百分号放后面_2避免在where子句中对字段进行函数操作_3在子查询当中,尽量用exists代替in_4where子句中尽量不要使用(代码片

WHERE 子句中的 TABLE OF VARCHAR2

WHERE CURRENT OF 引发和无效的 rowid 错误