時に客先でデータベースビューが必要になるケースがありますが、お客様のデータベースへのビューの追加がどうも...といった場合があります。そのような場合が、Sharperlightカスタムテーブルの出番です。”仮想的”あるいは”ソフト的”なテーブル(ビュー)とでもいうのでしょうか、お客様のデータベース環境に手を加えることなく業務に必要なビューを準備することができます。
前準備
カスタムテーブルを作成する前にビューの元となるSELECT SQL文を準備しましょう。カスタムテーブルはSELECT文でのみ作成するわけではないのですが、ここではSELECT文での作成を紹介します。
SELECT s.Id, s.売上日, s.Invoice#, p.製品名, r.区名, s.数量
FROM [dbo].[Sales] s
LEFT OUTER JOIN [dbo].[Products] p ON p.Id = s.製品Id
LEFT OUTER JOIN [dbo].[Regions] r ON r.Id = s.区Id
準備ができたら早速カスタムテーブルを作成してみます。
カスタムテーブルの作成
Sharperlightアプリケーションメニューからカスタムテーブルを起動します。
右クリックメニューから新規を選択します。
[OK]をクリックし先に進みます。
製品を選びます。
製品はクライアントのセットアップでデータベースと結びつけられているので、ここではどのデータベースに対してカスタムテーブルを作成するかを念頭に製品を選びます。
この記事では準備したSELECT SQL文がQiita Demo Productに結び付けられているデータベースのテーブルを使用しているので、この製品を選びます。
[Yes]はいをクリックして先に進みます。
準備したSQL文を貼り付け、[OK]をクリックします。
[一般]タブでは、コードとタイトルを入力します。コードは、内部的にこのカスタムテーブルを識別する一意のコードになるので、簡潔で判別しやすいものにします。
[テーブルの詳細]タブでは、テーブルの属性(Attributes)を確認します。コード(Code)には、[一般]タブで入力したコードが設定されています。摘要(Description)は、クエリビルダ等でテーブル一覧に表示される場合の名称です。判別しやすいものにします。テーブル名(Table Name)には、先に貼り付けたSQL文が確認できます。
[OK]を押して保存します
カスタムテーブルの使用
クエリビルダを起動します。[製品]にQiita Demo Productを選択します。テーブル参照では作成したカスタムテーブルが表示されていることを確認します。
ではそのカスタムテーブルを選択し、全てのフィールドを[出力]領域に設定し、[プレビュー]ボタンでデータを確認します。正常にデータが表示されたなら、カスタムテーブルの作成はこれで完了です。
Sharperlight