0
製品のリリース・バージョンに基づいてPL/SQLコードを実行する必要がある場合は、if/else条件付きロジックを追加するか、例外的な処理によって処理する方が良いでしょうか?if/else条件付きロジック対例外処理
IF release_version > 5 THEN
execute some SQL query only for release > 5 because a certain column was only introduced in ver 6;
ELSE
execute another SQL query;
END IF;
存在しない列を参照する静的SQL文を使用する場合は、問題が発生します。列が存在しない場合は、ブロック全体がコンパイルされないため、ELSEは実行できません。 IF/ELSEまたは例外ブロックがある場合は問題ありません。ブロック全体がコンパイルに失敗します。これが実際の状況であれば、(Oracleのバージョンに応じて)条件付きコンパイルを検討する可能性がありますが、それはプロセスにさらに複雑さを加える可能性があります。 –
私はEXECUTEを即座に使用していますが、存在しない列については不平を言っていません。そのアプローチは大丈夫ですか? – Pha3drus
PL/SQLコードベースをテーブル構造と同期させることができないのはなぜですか?リリース5と6で表が異なる場合は、PL/SQLコードを使用できないのはなぜですか? – user272735