Oracle

PL/SQL 程式碼在 sql plus 與 sql developer 中的執行方式是否不同?

  • August 31, 2016

今天,我偶然發現了一個關於 / 字元和 ; 的問題。特點。答案似乎沒有被否決,所以我對它為什麼沒有被否決的問題提出了更多質疑。有些東西告訴我 sql plus(命令行)和通過 sql developer 執行的 sql 行為不同。這些字元的用法就是一個例子 這是真的嗎?如果是這樣,我怎樣才能找到這些差異?

參考:

https://stackoverflow.com/questions/1079949/when-do-i-need-to-use-a-semicolon-vs-a-slash-in-oracle-sql

SQL*PLUS 和 SQL Developer 都是 Oracle 數據庫的客戶端應用程序。這些應用程序只是驗證語句的語法並送出給 Oracle 數據庫伺服器執行。至於問題是關於這些應用程序的用途/和用途,;我想盡我所能進行展示。

SQL*PLUS

在 SQL*PLUS-

  • ;用於結束目前語句。
  • /用於結束目前語句以及如果您在 SQL 提示符 ( SQL>) 中執行緩衝區中的命令。

例子:

結束並執行語句-

SQL> 從作業中選擇 *;

SQL> 從作業中選擇 *
2 /

執行緩衝區中的命令(只有 SQL 命令(不是 SQL*PLUS 命令)和最後執行的命令保留在緩衝區中)。

SQL> /

相反,您可以將RUNcommand 用於相同目的。不同之處在於/不顯示正在執行的命令,而是顯示RUN

SQL>執行
1* 從工作中選擇 *

SQL*PLUS 將 PL/SQL 程序視為 SQL 命令,除了;和空行。在正常的 SQL 命令中,如果您插入一個空行,則它會終止該命令,如下所示。

SQL> 從作業中選擇 *
2
SQL>

但在 PL/SQL 塊中它不會終止程序。

要終止和執行 PL/SQL 塊,我們使用相同的/.

SQL 開發人員

在 SQL Developer 中,我們使用CTRL+ENTERorF5鍵來執行命令。我們不需要使用;and/來指示命令的結束,而是使用Run Statement(CTRL+ENTER)or Run Script(F5)

引用自:https://dba.stackexchange.com/questions/133186