おーみんだよ。

おーみんだよ。

プログラミング、Unityなどのアウトプットを主に行っています。

【プリザンター】拡張SQL機能を使って自動連番を実装!

f:id:bookreadkun:20190720211123p:plain

おはようございます。おーみん(@Ooooooomin_365)です。

 

今回の記事ではプリザンターの拡張SQL機能を使ってテーブルに連番を振っていこうと思います。

 

参考記事

プリザンター システム機能:拡張SQL

 

環境

  • Windows10
  • プリザンター 0.50.76.38217

 

自動連番のイメージ

 

現在、プリザンターのテーブルは以下の構成になっています。

f:id:bookreadkun:20190720222232p:plain


レコードの中を覗いてみると・・・

 

f:id:bookreadkun:20190720213202p:plain

赤枠で囲まれている自動連番という項目がありますね。

(作り方は「テーブルの管理」→エディタで作成)

 

こちらの番号がテーブル作成時に自動で振られていくというイメージになります。

 

拡張SQLの実装

それでは拡張SQLの実装をしていきます。

 

拡張SQLを書く上で大切なのはまず自動連番を実装したいテーブルのサイトIdとフォームの列名(データベースの列名)です。

 

まずはSQL Server Management Studioを開き、それぞれの列名を確認します。

f:id:bookreadkun:20190720222144p:plain


今回連番を振りたいサイトIdは「62」、フォームの列名は「ClassA」ということが分かりますね!

 

連番を振るSQLは以下になります。

-----------------

UPDATE Results SET ClassA = 

    (SELECT MAX(ClassA) FROM Results WHERE SiteId = 62) + 1

    WHERE ResultId = {{id}};

-----------------

※{{id}}はレコードのIDに置換されます。

 

次に上記に掲載した拡張SQLの設定方法に倣ってjsonファイルを作成していきます。

 

f:id:bookreadkun:20190720222400p:plain



"SiteId"は「62」に設定し、新しくテーブルを作成したときに連番を振りたいので"OnCreated"を「true」としています。

拡張SQLは"CommandText"欄にコピーしてください。

 

作成したjsonファイルは\pleasanter\App_Data\Parameters\ExtendedSqlsに置いてください。

 

それでは、新しくレコードを作ってみましょう!!

先ほどまでに3つのレコードを作っているので次に作られるレコードには「4」が振られればOKです!

 

f:id:bookreadkun:20190720223001p:plain

 

無事に「4」が振られました!

 

最後に

ということで、プリザンターの拡張SQL機能を使って自動連番を実装する方法を書きました!

 

拡張SQLは凄く便利な機能なのでぜひ利用してみてください!

ではでは!

 

※プリザンターに関する記事は他にも書いていますのでよろしければ読んでみてくださ~い!

【プリザンター】フォームのid名と値を取得する方法 - おーみんだよ。

プリザンター クロスプラットフォーム版 環境構築方法 - おーみんだよ。

OSSのWebデータベース「プリザンター」を触ってみた。 - おーみんだよ。