SQL サーバーの高い同時実行性により、一意の注文番号が生成されます
SQL チュートリアル 」
1. シナリオの再現ERP 購買・販売システムや 0A などのシステムがある場合注文番号を生成する操作を同時に実行すると、複数の人が同じ注文番号を取得することが容易になり、会社のビジネスに取り返しのつかない損失が発生します2. 同時実行性が高い状況を回避する方法注文番号が一意ではない場合ストアド プロシージャとデータ テーブルを使用してテーブルを構築し、ストアド プロシージャを作成できます。ストアド プロシージャは注文番号を生成し、テーブルは一意性の問題を処理します。
ストアド プロシージャが注文番号を生成するときは、最初に注文番号をテーブルに書き込み、次に注文番号の結果を表示します。生成された注文番号をテーブルに書き込むとき、2 つの状況が発生します。理由?このテーブルには主キー (主キーの一意性) があるため、
- # と書くことができます: テーブル内に同じ注文番号がない場合、生成された注文番号がテーブルに書き込まれます
- 書き込み不可:テーブル内に同じ注文番号が存在する場合、生成した注文番号をテーブルに書き込むことができず、注文番号を取得できないため、一意の注文番号が確保されます。
- 3. 高い同時実行条件で一意の注文番号を生成するプロセス
次に、一意の注文番号を生成するプロセスについて説明します。コードと実際の操作を使用する
ステップ 1: データ テーブルを作成し、注文番号フィールドを主キー (一意の注文番号のキー) として設定します
#ステップ 2: 注文番号を生成するストアド プロシージャを作成する
生成される注文番号の形式は次のとおりです: カスタム プレフィックス 年、月、日のサフィックス (001、002、003) 1. まずストアド プロシージャを作成します
パラメータは @BILL_TYPECREATE PROCEDURE [dbo].[GetBillNO]
@BILL_TYPE nvarchar(3)
2. 年、月、日、サフィックスを生成します
年、月、日は次のとおりです。現在のシステム時刻、サフィックスの初期値は 0declare @BILL_NO nvarchar(15);declare @currentDate nvarchar(15);declare @lastno INT = 0;set @currentDate = Convert(varchar(10),Getdate(),112);
3 です。クエリ フォーム、テーブルの順序番号を取得します。
テーブルにクエリ、テーブルの順序番号を取得します。カスタム コンテンツに関連するプレフィックスを付けた最新の注文番号を @BILL_NOselect @BILL_NO = isnull(BILL_NO,0)
FROM temp_bill
WHERE SUBSTRING(BILL_NO,1,3) =BILL_TYPE and
SUBSTRING(BILL_NO,4,8) =@currentDate
4 に割り当てます。注文番号を生成します
If前の手順で取得した注文番号が空ではない場合、新しく生成される注文番号は元の注文番号 1
- の 1 になります。例: 取得した注文番号: QNB20200615015
つまり、生成される注文番号は次のようになります。 QNB20200615016
前の手順で取得した注文番号が空の場合、新しく生成される注文番号のサフィックスは 001 - 例: 生成される注文番号 :QNB20200615001
これを実行したとき、SQL サーバーには LPAD 機能がなかったため (足りない桁数を自動的に補完してくれる)、文字列のスプライシングを使用してから、 right をクリックして右側の 3 を取得します。目標は達成され ( ̄﹃ ̄)、デッドです
IF @BILL_NO !='' begin SET @lastno = str(right(@BILL_NO, 3)+1) ; set @BILL_NO = @BILL_TYPE+@currentDate+RIGHT('000'+CAST(@lastno as varchar),3); end;ELSE begin set @BILL_NO = @BILL_TYPE+@currentDate+CAST('001' as varchar(20));END;
ログイン後にコピー
5。生成された注文番号をテーブルに挿入します
If the同じ注文番号がテーブルに存在する場合、テーブルへの挿入は失敗します 同じ注文番号がテーブルに存在しない場合、テーブルへの挿入は成功します
insert into Temp_Bill(BILL_NO,BILL_TYPE) values(@BILL_NO ,@BILL_TYPE )
6。一意の注文番号
注文がテーブルに正常に挿入されると、一意の注文番号が返されます (上記の 1 つのステップが失敗した場合、このステップは実行されません) select @BILL_NO as BILL_NO
つまり:
QNB20200615001
2 2 回目に入力すると、テーブルにデータがあるため、最新の注文番号に従って、サフィックスに 1 を追加します:
5. 古いルール
十分なポイントがある場合は、ダウンロードしてください。ポイントがない場合は、画像を入力してください。とにかくコードの量は多くありません。
あなたが学生でポイントがない場合は、個人的に私にメッセージを送ってください。ソースコードを無料でお送りします コードのダウンロード リンク: SQL server_getbillno.bak
コードのスクリーンショット:
以上がSQL サーバーの高い同時実行性により、一意の注文番号が生成されますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









Microsoft SQL Server は、Microsoft によって発売されたリレーショナル データベース管理システムです。統合されたビジネス インテリジェンス (BI) ツールを使用してエンタープライズ レベルのデータ管理を提供する包括的なデータベース プラットフォームです。使いやすく、拡張性が高く、高いパフォーマンスを備えています。関連ソフトウェアとの統合度が高く、高い利点があります。 SQL Server データベース エンジンは、リレーショナル データと構造化データに対して、より安全で信頼性の高いストレージ機能を提供し、ユーザーがビジネス向けに可用性とパフォーマンスの高いデータ アプリケーションを構築および管理できるようにします。

SQLServer それとも MySQL?最新の調査により最適なデータベースの選択が明らかに 近年、インターネットやビッグデータの急速な発展に伴い、データベースの選択は企業や開発者にとって重要な課題となっています。多くのデータベースの中でも、最も一般的で広く使用されている 2 つのリレーショナル データベースである SQL Server と MySQL は、非常に物議を醸しています。では、SQLServer と MySQL のどちらを選択すればよいでしょうか?最新の研究により、この問題が明らかになりました。まず、

PDO を使用して Microsoft SQL Server データベースに接続する方法の概要: PDO (PHPDataObjects) は、PHP が提供するデータベースにアクセスするための統合インターフェイスです。これには、データベースの抽象化レイヤーを実装したり、大量のコードを変更せずに異なるデータベース タイプを簡単に切り替えたりできるなど、多くの利点があります。この記事では、PDO を使用して Microsoft SQL Server データベースに接続する方法を紹介し、関連するコード例をいくつか示します。ステップ

インターネットの普及に伴い、Web サイトやアプリケーションの開発は多くの企業や個人の主要なビジネスになりました。 PHP と SQLServer データベースは 2 つの非常に重要なツールです。 PHP は動的な Web サイトの開発に使用できるサーバー側スクリプト言語であり、SQL Server は Microsoft によって開発されたリレーショナル データベース管理システムであり、幅広いアプリケーション シナリオを備えています。この記事では、PHPとSQL Serverの開発とそのメリット、デメリット、活用方法について説明します。まず、しましょう

Web 開発では、PHP と MySQL の組み合わせが非常に一般的です。ただし、場合によっては、SQL Server などの他の種類のデータベースに接続する必要があります。この記事では、PHP を使用して SQL Server に接続する 5 つの異なる方法について説明します。

SQL Server と MySQL: 高可用性アーキテクチャにはどちらのデータベースが適していますか?今日のデータ主導の世界では、信頼性が高く安定したシステムを構築するために高可用性が必須の 1 つです。データのストレージと管理の中核コンポーネントとして、データベースの高可用性は企業の業務運営にとって極めて重要です。多くのデータベースの中で、SQLServer と MySQL が一般的な選択肢です。では、高可用性アーキテクチャの観点から見ると、どのデータベースがより適しているのでしょうか?この記事では 2 つを比較し、いくつかの提案を示します。

SQLServer と MySQL は、現在非常に人気のある 2 つのリレーショナル データベース管理システム (RDBMS) です。どちらも大規模なデータを保存および管理するための強力なツールです。ただし、大規模なデータの処理に関してはいくつかの違いがあります。この記事では、大規模なデータ処理への適性に焦点を当てて、SQL Server と MySQL を比較します。まず、SQLServer と MySQL の基本的な特性を理解しましょう。 SQLServerはMicrosoftによって開発されました

インターネットの継続的な発展に伴い、データベースの選択はますます重要になってきています。多くのデータベースの中でも、SQLServer と MySQL の 2 つは注目度の高いオプションです。 SQLServer は Microsoft によって開発されたリレーショナル データベース管理システムであり、MySQL はオープンソースのリレーショナル データベース管理システムです。では、SQLServer と MySQL の間で最適なデータベース ソリューションを選択するにはどうすればよいでしょうか?まず、これら 2 つのデータベースをパフォーマンスの観点から比較できます。 SQLサーバーが処理中です
