序文このブログ記事が公開された後、何人かの友人からSQL Serverバージョンがあるかどうか尋ねられました。現在は==》ポータルがあります 1. シーン再現ERP 在庫管理システムや 0A などのシステムでは、複数の人が同時に注文番号を生成すると、複数の人が同じ注文番号を取得することが容易になり、会社のビジネスに回復不可能な損失が発生します。 2. 同時実行性の高い状況で一意でない注文番号を回避する方法ストアド プロシージャとデータ テーブルを使用して、テーブルとストアド プロシージャを作成できます。ストアド プロシージャは注文番号を生成する役割を担い、テーブルは一意性の問題を処理する役割を担います。 ストアド プロシージャが注文番号を生成すると、まず注文番号がテーブルに書き込まれ、次に注文番号の結果が表示されます。生成された注文番号がテーブルに書き込まれる状況は 2 つあります。なぜでしょうか。テーブルには主キー(主キーの一意性)があるため
3. 高い同時実行性のもとで一意の注文番号を生成するプロセス以下では、コードと実際の操作を使用して一意の注文番号を生成するプロセスについて説明します。 ステップ 1: データ テーブルを作成し、注文番号フィールドを主キー (一意の注文番号のキー) として設定します。ステップ2: 注文番号を生成するストアドプロシージャを作成する生成される注文番号の形式は、カスタムプレフィックス + 年、月、日 + サフィックス (001、002、003) です。 CREATE DEFINER = CURRENT_USER PROCEDURE `getbillno`(BILL_TYPE VARCHAR(3) で、BILL_NOP varchar(25) で出力) 始める 2. 年、月、日、サフィックスを生成する<br /> 年、月、日は現在のシステム時刻で、サフィックスの初期値は 0 です currentDate varCHAR (15) を宣言します。 lastno INT DEFAULT 0 を宣言します。 DATE_FORMAT(NOW(), '%Y%m%d') を currentDate に選択します。 3. テーブルをクエリして、テーブルの注文番号を取得します<br /> テーブルをクエリして、プレフィックスとカスタム コンテンツに関連する最新の注文番号を取得します IFNULL(BILL_NO, 'notnull') を BILL_NOP に選択します temp_bill より WHERE SUBSTRING(BILL_NO,1,3) = BILL_TYPEであり、 SUBSTRING(BILL_NO,4,8) =現在の日付 ORDER BY BILL_NO DESC LIMIT 1; 4. 注文番号を生成する 前の手順で取得した注文番号が空でない場合、新しく生成された注文番号は元の注文番号に +1 されます。 例: 取得した注文番号: UIE20200611015 前の手順で取得した注文番号が空の場合、新しく生成された注文番号のサフィックスは001になります。 BILL_NOP != '' の場合 SET lastno = CONVERT(SUBSTRING(BILL_NOP, -3), DECIMAL); 選択 CONCAT(BILL_TYPE、currentDate、LPAD((lastno + 1)、3、'0')) を BILL_NOP に連結します。 それ以外 選択 CONCAT(BILL_TYPE、currentDate、LPAD((lastno + 1)、3、'0')) を BILL_NOP に連結します。 終了の場合; 5. 生成された注文番号をテーブルに挿入します<br /> テーブルに同じ注文番号が存在する場合、テーブルへの挿入は失敗します。テーブルに同じ注文番号が存在しない場合は、テーブルへの挿入は成功します。 temp_bill に (BILL_NO、BILL_TYPE) VALUES (BILL_NOP、BILL_TYPE) を挿入します。 6. 一意の注文番号を返す<br /> 注文がテーブルに正常に挿入されると、一意の注文番号が返されます (前の手順が失敗した場合、この手順は実行されません) BILL_NOPを選択します。 4. 運用結果1. まず、テーブルにデータがないので、プレフィックス(UIEと入力)+年、月、日( 2 2回目に入力すると、テーブルにデータがあるため、最新の注文番号のサフィックスが1増加します 5. 要約ではない要約コードのダウンロードリンク: mysql_getbillno.sql コードのスクリーンショット: これで、MySQL の高同時実行性を実装して一意の注文番号を生成する方法についての説明は終わりです。MySQL の高同時実行性を使用して一意の注文番号を生成する方法の詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: HTML チュートリアル: DOCTYPE の省略形
>>: CSS でのフィルタープロパティの使用に関する詳細な説明
目次1. 実験環境2. Dockerソースをインストールする3. Dockerをインストールする4....
リンク: https://qydev.weixin.qq.com/wiki/index.php?ti...
目次NIS の紹介ネットワーク環境: 1. 環境の準備(両方のノードが必要) 2.nisマスターサー...
アプリをテストしたいが、それを携帯電話で実行したくない場合があります。この場合、仮想マシンを使用して...
この記事では、mysql5.7.23 の詳細なインストールプロセスを記録し、皆さんと共有します。 1...
1. リストリスト ulコンテナーには、一貫した構造とスタイルを持つテキストまたはグラフの形式が読...
ステップ1: Stowをインストールするこの例では CentOS を使用しているため、拡張 EPEL...
vmware vSphere 6.5 は vSphere ソフトウェアのクラシック バージョンであ...
今日、VMware を使用してマシンに新しい仮想マシンをインストールしていたところ、次のように「この...
目次1. 環境整備2. データの準備3. ショーを始める4. 単語分割エンジン要約する参考文献1. ...
これら 16 のサイトはそれぞれ注意深く読む価値があり、どのサイトでも推奨されている Web サイト...
この記事では、携帯電話認証コードログインを実装するためのVueの具体的なコードを参考までに共有します...
世論調査の理解実際、ポーリングの焦点はループ自体ではなく、実行間の間隔にあります。 Ajax は非同...
導入いつものように、シーンから始めましょう〜インタビュアー:「トランザクションの4つの特性をご存知で...
序文ルーティングの管理は、ほとんどのシングルページ アプリケーションにとって不可欠な機能です。 Vu...