質問: OracleでSQLを書く際のスラッシュ(/)とセミコロン(;)使用法について教えてください。
回答: なんか、色々と間違えているので、とりあえず、全部指摘しておきます。 まず、;と等価なのは、/だけの行で、文の途中に/を入れても意味がありません。 たとえば Create Table TblA ~ / を実行したいなら Create Table TblA ~ / と、/だけの行を作る必要があります。 Create Table TblA ~ / も、 Create Table TblA ~ ;/ も、 Create Table TblA ~ ;/ も駄目です。 ちなみに、本来、/だけの行は、PL/SQLブロックなど、文中に;が入ってしまう場合に、DDL文の終了を表すために;の代わりに使うものです。 また、この仕様はOracleの仕様というわけではなく、単にSQL*Plus上の仕様で、↓に「SQL*Plusでは、SQL*Plusコマンドまたはコマンドを実行するために入力したセミコロンやスラッシュは、SQLバッファに格納されません。」とあるとおり、エディタ上では使用されていますが、実際にOracleにSQLを投げるときは除去されています。 さらに、Delete Tableという構文はOracleにはありません。 どうやってもエラーになるでしょう。 Tableを消したいならDrop Tableです。 補足を受けて: 複数の命令を実行できるというか、SQLを2回実行することになります。 というのも、上記構文では、同一トランザクションの処理にならないのです。 2つ目のSQLを実行したときにエラーが発生しても、1つ目のSQLは実行されてしまいます。