• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:oracle pl/sql のコマンド終端子は「;」?「/」?)

Oracle PL/SQLのコマンド終端子は?

このQ&Aのポイント
  • Oracle PL/SQLのコマンド終端子は「;」か「/」のどちらでも使用することができます。どちらを使用するかは個人の好みや統一ルールによるものです。
  • OracleでSQLを書く際には、コマンドの終わりにセミコロン(;)かスラッシュ(/)を書きます。どちらの終端子を使うかは好みや統一ルールによって異なります。
  • Oracle PL/SQLでは、コマンドの終端子としてセミコロン(;)またはスラッシュ(/)を使用することができます。どちらを使うかは統一ルールや個人の環境によりますが、どちらを使っても同じ結果が得られます。

質問者が選んだベストアンサー

  • ベストアンサー
  • ese_ee
  • ベストアンサー率48% (68/139)
回答No.1

SQL文の終端は「;」です。 「/」は、 SQLバッファ内のSQL文を実行する という意味です。 たとえば、 SQL*PLUSを実行した直後に SQL> /[Return] とするとエラーになるはずです。 「;」の場合は、エラーになりません。 また、 SQL> SELECT SYSDATE FROM DUAL[Return] SQL> ;[Return] SQL> /[Return] SQL> SELECT SYSDATE FROM DUAL[Return] SQL> /[Return] SQL> ;[Return] の動作の違いも確認してみてください。

webuser
質問者

補足

なるほど、 そうした場合、上記の例なら sample1.sql sample2.sql どちらで記述するのが正解ですか? あるいは ===== sample3.sql ===== CREATE TABLE TB1 (IT1 VARCHAR(1)) / ; COMMENT ON TABLE TB1 IS 'TB1のコメント' / ; ===== sample3.sql ===== が正解ですか?

その他の回答 (1)

  • ese_ee
  • ベストアンサー率48% (68/139)
回答No.2

どちらでも構いません。 なお、私なら、下記のように書きます。 ===== sample3.sql ===== CREATE TABLE TB1 (IT1 VARCHAR(1)); COMMENT ON TABLE TB1 IS 'TB1のコメント'; セミコロンの場合は、 このように1行で書けますが、 「/」では書けません。 また、ストアドプロシージャを書けば判りますが、  CREATE PROCEDURE 名前 IS   ~省略~;  BEGIN ~省略~  END;  / こういうのは「;」「/」の使い分けが必要です。

関連するQ&A