私は知りたいです
- 3つは互いにどのように比較されますか?
- いつ使用するのですか?
- 他の代わりに使用できるのはどれですか?
したがって、SQLでは「SELEC * FROM MY.TABNAME」のようにテーブルの基本的なクエリと更新が可能であり、PL /SQLでは「IFDAY=01 THEN(INSERT(TOTALS)VALUES(%」」のようにデータベースに対してよりインテリジェントなスクリプトを実行できます。 VAL)INTO TOTTAB)ELSE(UPDATE TOTTAB SET TOTALS = TOTALS +%VAL ")
「いつどちらを使用するか」という質問について。一部のオラクルの専門家は次のことを推奨しています。
もちろん、データベースをデータのダンプ ストレージとして扱い、すべてのビジネス ロジックを外部の別のレイヤーで実行することもできます。
その必要性が本当に SQL の必要性である場合は、まず SQL で実装しようとします。おそらくバルク バインドとバルク フェッチの賢明な使用による PL/SQL プロシージャル コールが、純粋な SQL ソリューションよりも高速である、リソースの競合が少ないなどの特定の状況があるかもしれませんが、私の経験ではまれです。
私は「データベース ロジック」と「アプリケーション ロジック」を区別するように努めています。あいまいな場合があることは認めますが、アプリケーション ロジックを PL/SQL で記述しないように努めています。その理由は単純で、Java よりもはるかに表現力が低く、SQL の相互作用を除くほとんどすべての API がはるかに弱いためです。
私は個人的に SQLJ を使用していないため、その点についてはお答えできません。申し訳ありません。