Oracle RUN列出并实验当前存储在SQL缓冲区中的SQL命令或PL/SQL块。 ...

打印 上一主题 下一主题

主题 548|帖子 548|积分 1644

在SQLPlus中,当你输入一个SQL command 或者PL/SQL块(如匿名块、存储过程、函数或包体)并实验它后,SQLPlus会将该PL/SQL块保存在其缓冲区中。之后,如果你仅仅输入Run或一个斜杠(/)并按回车,SQLPlus会重新实验缓冲区中最后一条实验的PL/SQL块。这实际上是SQLPlus的一个便捷特性,用于快速重新实验之前的PL/SQL代码,而无需重新输入整个块。
参考官方文档地址
https://docs.oracle.com/en/database/oracle/oracle-database/23/sqpug/RUN.html#GUID-C0504161-EFF9-4AF0-9F59-074F17B0CB85
1、语法Syntax

  1. R[UN]
复制代码
Lists and executes the SQL command or PL/SQL block currently stored in the SQL buffer.
列出并实验当前存储在SQL缓冲区中的SQL命令或PL/SQL块。
2、示例Examples

RUN causes the last line of the SQL buffer to become the current line.
The slash command (/) functions similarly to RUN, but does not list the command in the SQL buffer on your screen. The SQL buffer always contains the last SQL statement or PL/SQL block entered.
2.1 SQL statement

  1. TESTUSER@FREEPDB1> select * from dept;
  2.     DEPTNO DNAME                LOC
  3. ---------- -------------------- ------------------------------
  4.         10 ACCOUNTING           NEW YORK
  5.         20 RESEARCH             DALLAS
  6.         30 SALES                CHICAGO
  7.         40 OPERATIONS           BOSTON
  8. TESTUSER@FREEPDB1> run
  9.   1* select * from dept
  10.     DEPTNO DNAME                LOC
  11. ---------- -------------------- ------------------------------
  12.         10 ACCOUNTING           NEW YORK
  13.         20 RESEARCH             DALLAS
  14.         30 SALES                CHICAGO
  15.         40 OPERATIONS           BOSTON
  16. TESTUSER@FREEPDB1> /
  17.     DEPTNO DNAME                LOC
  18. ---------- -------------------- ------------------------------
  19.         10 ACCOUNTING           NEW YORK
  20.         20 RESEARCH             DALLAS
  21.         30 SALES                CHICAGO
  22.         40 OPERATIONS           BOSTON
复制代码
2.2 PL/SQL block

  1. TESTUSER@FREEPDB1> DECLARE i NUMBER;
  2.   2  BEGIN
  3.   3      FOR i IN 1..5 LOOP
  4.   4          DBMS_OUTPUT.PUT_LINE('i的值为: ' || i);
  5.   5      END LOOP;
  6.   6  END;
  7.   7  /
  8. i的值为: 1
  9. i的值为: 2
  10. i的值为: 3
  11. i的值为: 4
  12. i的值为: 5
  13. PL/SQL procedure successfully completed.
  14. -- 使用run
  15. TESTUSER@FREEPDB1> run
  16.   1  DECLARE i NUMBER;
  17.   2  BEGIN
  18.   3      FOR i IN 1..5 LOOP
  19.   4          DBMS_OUTPUT.PUT_LINE('i的值为: ' || i);
  20.   5      END LOOP;
  21.   6* END;
  22. i的值为: 1
  23. i的值为: 2
  24. i的值为: 3
  25. i的值为: 4
  26. i的值为: 5
  27. PL/SQL procedure successfully completed.
  28. -- 使用 /
  29. TESTUSER@FREEPDB1> /
  30. i的值为: 1
  31. i的值为: 2
  32. i的值为: 3
  33. i的值为: 4
  34. i的值为: 5
  35. PL/SQL procedure successfully completed.
复制代码
3、总结

RUN使SQL缓冲区的最后一次实验的SQL语句或PL/SQL(如匿名块、存储过程、函数或包体)成为当可以实验命令。
斜线命令(/)的功能雷同于RUN,但不会在屏幕上的SQL缓冲区中列出该命令。SQL缓冲区始终包含最后输入的SQL语句或PL/SQL块。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

飞不高

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表