sql >> データベース >  >> RDS >> PostgreSQL

どちらが良いですか-例外をスローするか、事前にエラーをチェックします

    とにかくやらなければならないという理由だけで、「try-and-catchexception」メソッドを実行する必要があります。

    最初にチェックした場合、チェックと挿入の間に誰かがそのユーザーの行を挿入するのを止めることはできません。その場合、チェックでユーザーが行を見つけられなくても、ユーザーはテーブルに表示されます。

    ある種のトランザクション内でチェックアンドインサートを実行できることには至っていません(そのため、他の誰もそのユーザーを暫定的に挿入することはできません)。非例外が機能するかどうかは定かではありません。

    また、多くのDBMSがトランザクションサポートを提供していますが、何も知りません。 まだ挿入していない行がロックされます:-)

    もちろん、プロセスのみがユーザーを挿入する(そしてシリアル化する)ようにアプリケーションが設計されている場合は、最初にチェックする方法を使用できます。しかし、スケールアップした場合は再検討する必要があるという趣旨のコメントをたくさん入れておきます。



    1. datepickerの日付を利用可能なデータベースの日と一致させ、結果を表示します

    2. sum()クエリが小数点以下の結果を返すのはなぜですか?

    3. JavaによってOracleにログインしているユーザーをロックする

    4. MySqlでリソースID#3エラーを取得しています