概要
ちょっとしたデータが欲しいのだけど、実際のデータベース上にテーブルを作って、データを入れて、というのが面倒くさく、Framework Managerの中でデータ作れたらいいのに、という時の、簡単なやり方です。
手順
Database Viewで、ネームスペースを右クリック→「作成」→「クエリー・サブジェクト」を選択します。
名前を適当に入力して、「データ・ソース」を指定しOKを選択します。
自由にSQLを書けるので、以下のように記載します。
WITH Numbers (n)
AS (SELECT CAST(1 AS INTEGER)
FROM sysibm.sysdummy1
UNION ALL
SELECT n + 1
FROM Numbers
WHERE n < 10)
SELECT n
FROM Numbers
※ちなみに、Oracleの場合は、以下のSQLでできます。
select level from DUAL connect by level <= 10
「クエリー情報」タブに移動し、「オプション」から「SQL設定」で、SQLタイプに「通過」を指定します。
「テスト」タブで「テスト・サンプル」を実行すると、以下のように1~10の数字が生成されます。OK。
次に、再度ネームスペースを右クリック→「作成」→「クエリー・サブジェクト」します。
先ほど作成した「n」をクエリー・アイテムとして持って行き、「追加」を選択します。
以下の様に新規クエリー・アイテムの定義を記載し「テスト」を行うと、人物名のデータが生成されます。
case
when [DB2SAMPLE].[CREDATA].[n] = '1' then 'ICHIRO'
when [DB2SAMPLE].[CREDATA].[n] = '2' then 'JIRO'
when [DB2SAMPLE].[CREDATA].[n] = '3' then 'SABURO'
when [DB2SAMPLE].[CREDATA].[n] = '4' then 'SHIRO'
when [DB2SAMPLE].[CREDATA].[n] = '5' then 'GORO'
when [DB2SAMPLE].[CREDATA].[n] = '6' then 'ROKURO'
when [DB2SAMPLE].[CREDATA].[n] = '7' then 'SHICHIRO'
when [DB2SAMPLE].[CREDATA].[n] = '8' then 'HACHIRO'
when [DB2SAMPLE].[CREDATA].[n] = '9' then 'KYURO'
when [DB2SAMPLE].[CREDATA].[n] = '10' then 'JURO'
end
「テスト」タブで、「テスト・サンプル」で見ると、以下の通りです。弟の方が稼いでいます。
あとは作成されたクエリーアイテムのプロパティから、使用方法を調整しておきましょう。
以上です。
ちょっとした時に使えるので、是非ご活用下さい。