【プリザンター】拡張SQL機能を使って自動連番を実装!
おはようございます。おーみんです。
今回の記事ではプリザンターの拡張SQL機能を使ってテーブルに連番を振っていこうと思います。
参考記事
環境
- Windows10
- プリザンター 0.50.76.38217
自動連番のイメージ
現在、プリザンターのテーブルは以下の構成になっています。
レコードの中を覗いてみると・・・
赤枠で囲まれている自動連番という項目がありますね。
(作り方は「テーブルの管理」→エディタで作成)
こちらの番号がテーブル作成時に自動で振られていくというイメージになります。
拡張SQLの実装
それでは拡張SQLの実装をしていきます。
拡張SQLを書く上で大切なのはまず自動連番を実装したいテーブルのサイトIdとフォームの列名(データベースの列名)です。
まずはSQL Server Management Studioを開き、それぞれの列名を確認します。
今回連番を振りたいサイトIdは「62」、フォームの列名は「ClassA」ということが分かりますね!
連番を振るSQLは以下になります。
-----------------
UPDATE Results SET ClassA =
(SELECT MAX(ClassA) FROM Results WHERE SiteId = 62) + 1
WHERE ResultId = {{id}};
-----------------
※{{id}}はレコードのIDに置換されます。
次に上記に掲載した拡張SQLの設定方法に倣ってjsonファイルを作成していきます。
"SiteId"は「62」に設定し、新しくテーブルを作成したときに連番を振りたいので"OnCreated"を「true」としています。
拡張SQLは"CommandText"欄にコピーしてください。
作成したjsonファイルは\pleasanter\App_Data\Parameters\ExtendedSqlsに置いてください。
それでは、新しくレコードを作ってみましょう!!
先ほどまでに3つのレコードを作っているので次に作られるレコードには「4」が振られればOKです!
無事に「4」が振られました!
最後に
ということで、プリザンターの拡張SQL機能を使って自動連番を実装する方法を書きました!
拡張SQLは凄く便利な機能なのでぜひ利用してみてください!