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

複数のテーブルを持つ複数のトランザクションが関係するギャップレス シーケンス

    既に結論付けているように、ギャップレス シーケンスは単純にスケーリングしません。ロールバックが発生したときに値を削除するリスクを冒すか、マルチユーザーの同時トランザクション システムのスケーリングを妨げるシリアライゼーション ポイントがあります。両方を持つことはできません。

    私の考えでは、毎日、営業終了時に実行され、ギャップをチェックし、再番号付けが必要なものに再番号付けを行うプロセスがある場合、後処理アクションについてはどうでしょうか?

    最後に 1 つの考え:あなたの要件はわかりませんが、これは「法律で義務付けられている」とあなたが言ったことは知っています。コンピューターが登場する前、人々は何をしていたのでしょうか。この「要件」はどのように満たされますか?右上隅に「シーケンス」番号が事前に印刷された空白のフォームのスタックがあると仮定しますか?誰かがその用紙にコーヒーをこぼしたらどうなるでしょうか?それはどのように処理されましたか?システムでそれを処理するには、同様の方法が必要なようです。

    お役に立てば幸いです。



    1. knexとpostgresを使用して日付列を文字列(varchar)として常にフェッチできますか?

    2. SUMおよびDISTINCTのMYSQLクエリ?

    3. 他の結合テーブル列に基づいてフィールドの合計を計算する

    4. MERGEクエリを改善する方法はありますか?