0

私は、「InvoicePrefix」というフィールドを持つ会社プロファイルと呼ばれる機能を持つ会計アプリケーションを持っています。したがって、請求書のプレフィックスが MY の会社がある場合、すべての請求書は MY/2013-2014/001 などとして生成される必要があります...同様に、invoicePrefix が ME の場合、請求書は ME/2013-2014/ から開始する必要があります001など。

以前の会社の数がわからないため、すべての会社のmysqlに共通の請求書テーブルがあります。

必要なのは、invoicePrefix ごとに 1 から始まる請求書シーケンスです。現在、請求書番号を生成しています (最後に表示される -MY/2013-2014/ 001 )。これには、企業ごとにシーケンスが壊れるという問題があります。

では、スマートな mysql クエリ ステートメントを使用してこれを達成するにはどうすればよいでしょうか。

4

1 に答える 1

0

次のような各会社の現在のポインターを記録するシード テーブルを維持します。

Company | Year      | Seed
MY      | 2013-2014 |  1
ME      | 2013-2014 |  20
ME      | 2012-2013 |  1120

テーブルにレコードを挿入するためのプロシージャを作成します。まず、その特定の年の会社レコードがテーブルにあるかどうかを確認します。そうでない場合は、そのレコードを挿入してシード カウンターを開始し1ます。それ以外の場合は、最新のシード値を取得してカウンターを更新し、値を取得した後にそれに応じてテーブルに記録します。

于 2013-04-01T05:08:44.770 に答える