今週、私の会社では、SQL スクリプトをどのように記述すべきかについて議論がありました。
背景: 私たちのデータベースは Oracle 10g です (まもなく 11 にアップグレードします)。DBA チームは、スクリプトを本番環境にデプロイするために SQLPlus を使用しています。
最近、セミコロンとスラッシュ ( /
) の両方を使用したために失敗したデプロイがありました。セミコロンは各ステートメントの終わりにあり、スラッシュはステートメントの間にありました。
alter table foo.bar drop constraint bar1;
/
alter table foo.can drop constraint can1;
/
後でスクリプトにいくつかのトリガーが追加され、いくつかのビューが作成され、いくつかのストアド プロシージャが作成されました。;
theと the の両方を使用すると、/
各ステートメントが 2 回実行されてエラーが発生します (特に、一意である必要がある挿入で)。
SQL Developer では、これは起こりません。TOAD では、これは起こりません。特定のコマンドを実行すると、コマンドがないと機能しません/
。
PL/SQL では、サブプログラム (DECLARE、BEGIN、END) がある場合、使用されるセミコロンはサブプログラムの一部と見なされるため、スラッシュを使用する必要があります。
私の質問は次のとおりです。データベースが Oracle の場合、SQL スクリプトを記述する適切な方法は何ですか? DB が Oracle であることはわかっているので、常に/
?を使用する必要があります。