特別接続お気に入り・履歴2008-01-22スクリプトコマンド自動/手動コミットモードRDBMSへ接続インストールこれらのキーワードがハイライトされています:ValueSQL最新機能につき、ただいま執筆中です・・・今しばらくお待ちください。用語定義オブジェクトフォルダ要素選択時実行スクリプト子アイテム要素アイテムオブジェクトフォルダパラメータまぼろしパラメータ孫アイテムひ孫アイテム以降プロパティーアイコンの変更アイテムフォルダ名変更オブジェクトツリーオブジェクトツリーは、RDBMSにて管理されている各種オブジェクトをツリー状に表示します。このツリーはどのRDBMS用にも対応できるように、フルカスタマイズすることができます。画面ValueSQLメイン画面の左側がオブジェクトツリーペインです。上部がツリー本体で、下部が詳細表示エリアです。オブジェクトツリーが準備されている場合は、ツリーをエクスプローラと同じ要領で展開するだけです。選択した要素に詳細情報を表示する仕掛けがあればオブジェクトツリー下部の詳細情報表示エリアにその情報が表示されますし、スクリプトが仕掛けられていれば、その結果が結果表示エディタ?に表示されます。カスタマイズすることができますので、対象RDBMSに最適なツリー構造をユーザーが自由に構築できます。業務によってテーブルが多く、区分けしてテーブルを表示させたい場合や、マスタと詳細テーブルは別に表示すると言った細かい構築が可能です。↑カスタマイズ方法オブジェクトツリーのカスタマイズは基本的には単純な仕組みですが、階層が深くなるにつれ、少し複雑になります。↑カスタマイズ基本ValueSQLのオブジェクトツリーの基本はWindowsフォルダ構成です。ValueSQL.exeが格納されているフォルダに「ObjectTree」というフォルダがあればその配下がそのままオブジェクトツリーとして読み込まれます。オブジェクトツリー要素。↑オブジェクトフォルダオブジェクトツリーを構築するには、「ObjectTree」フォルダ配下にフォルダ構成を作成することから始まります。Windowsのエクスプローラで行ってください。└─第3階層_22の場合、オブジェクトツリーはそのままとなります。フォルダは、接続RDBMSに無関係に構築できます。以下、このフォルダのことを、「オブジェクトフォルダ」と呼びます。階層の深さ制限、名称規約はValueSQLが動作しているWindowsの規約に準じます。オブジェクトフォルダは、表示順を変更する事、子オブジェクトフォルダを複数持つ事、子アイテムを複数持つ事、アイコンを変えることができます。オブジェクトフォルダの表示順は、デフォルトでは名前順ですが、オブジェクトフォルダ直下に「n.Order」ファイル(nは数値)を置く事で、n順に並べ替えることができます。(Orderファイルの中身は関係ありません。兄弟オブジェクトフォルダの中にOrderファイルがあればそのnと比較して、小さいほうが上に表示されます。スクリプト各要素が選択されたとき(クリックされたとき)、スクリプトを実行することができます。datname;であったとします。(例としてPostgreSQLのシステムテーブル「データベース一覧」をSelectしていますが、どのようなSQLでも記述できます。)上図は、「データベース」をクリックした時の画面です。「データベース」ノードがクリックされると、「Default.Script」が実行され、右下の結果エディタへ結果が出力されます。「Default.Script」は、後述する全てのノードに対して設定できます。子アイテム要素オブジェクトフォルダは、その子要素として、「子アイテム」を持つことができます。アイテムは、Select文によりRDBMSより返った結果がノードとして展開された物を言います。オブジェクトフォルダは、Windowsフォルダ構造と対になるため、事前にフォルダを準備しておいただけ展開される静的なノードで、アイテムは、そのときのRDBMSテーブル/ビューなどの状態によって動的にその構造が変化するノードです。子アイテムをオブジェクトツリー配下に展開させるには、オブジェクトフォルダの中に「DeployItem?.SQL」という名称のテキストファイルを置き、Select文を記述します。datname;の場合、結果は、となります。(オブジェクトフォルダ配下にアイテムが展開されました)つまり、Selectの結果行分子アイテムとして追加されます。※この場合、同時に前項目で解説した「Default.Script」も実行されて右下に結果が表示されます。アイテム名として表示されるテキストは、「DeployItem?.SQL」に記述されたSQLが返すデータセットの各レコードの最初の項目(第一項目)のデータがセットされます。アイテム要素は、RDBMSの状態によって動的に変わりますので、対象を右クリックし、「最新の状態に更新」とすると、再度「Deploy.SQL」を発行し、自らを作り直します。この子アイテムノードの配下にさらにノードを作成することができます。作成できるノードは、「アイテムオブジェクトフォルダ」と、「孫アイテム」があります。↑アイテムオブジェクトフォルダアイテムノードの配下にオブジェクトフォルダを作成することができます。これは通常のオブジェクトフォルダと違い、各アイテムノードの配下に作成されますので、作成方法が少し異なります。(アイテムオブジェクトフォルダ)とします。これは、「データベース」配下に「DeployItem?.SQL」によってアイテムを展開し、その展開されたアイテムの各配下に「名前空間」というアイテムオブジェクトフォルダを作るという意味になります。」(アンダースコア)かどうかで決まります。アイテムオブジェクトフォルダは同じ階層にいくつでも作成することができます。アイテムオブジェクトフォルダ配下には、通常のオブジェクトフォルダとまったく同じように使用できますので、以下繰り返しとなります。↑パラメータアイテムノードは、自身が展開されたときにパラメータを持ちます。取得していれば全ての項目)を自アイテム要素の「パラメータ」として保持します。このパラメータは、このノードより下の階層で使用します。パラメータは、上図の通り、アイテムノードを選択するとツリー下の「Params」タブにフィールドデータが一覧されます。パラメータは、オブジェクトツリーをカスタマイズする方向けに表示しています。本来、「パラメータ」より「フィールドデータ」の方が名前として良いように思えますが、実際の使用用途は、データ表示が目的ではなく、パラメータとして扱うことを目的としていますので、「パラメータ」と呼ぶことにしました。key=valueとなっています。(キー・バリュー形式)あるノードのパラメータは、その子孫まで継承されて参照されます。子孫に同じKey名のパラメータがある場合は、子孫の情報で上書きされます。パラメータは、そのノード配下の全てのSQLまたはScriptで有効に使えます。パラメータを持つノードに設置される各種SQLやスクリプトは、このKeyを置き換え文字として仕掛けて置くことで、条件などを動的に変更できます。key名をはさむと、その実行時に該当部分がvalue値に置き換えられます。実行時に以下のように置き換わって発行されます。'{{%datname%}}';のように大括弧を二重にすることで、該当パラメータが置き換えられなかったときにその指定ごと消えます。孫アイテムアイテムの配下には、アイテムオブジェクトフォルダの他、「孫アイテム」も展開されます。これは、例えば、一つのオブジェクトフォルダまたはアイテムオブジェクトフォルダ配下に展開されるアイテムが多数になる場合、ツリーが縦長になってしまい、操作性が悪くなる場合に備えた仕組みで、アイテムをグルーピングする時などに便利です。「DeployItem?.SQL」は、アイテム展開SQLですが、孫アイテム展開SQLは、「_DeployItem?.SQL」ファイルに記述します。(先頭にアンダースコアを付けます)これで、「DeployItem?.SQLによって展開されたアイテムの子」として展開されます。PostgreSQLには、pg_typeという型管理テーブルがあり、多数の型を管理しています。pg_typeにて管理される型は大別して、b(基本型)、c(複合型)、d(派生型)、p(擬似型)と分かれていて、typtype項目にb,c,d,pのいずれかChar一文字が格納されています。これらをグルーピングしてツリー展開するには以下のように記述します。結果、このようになります。↑ひ孫アイテム以降オブジェクトツリーは、孫アイテムだけではなく、孫アイテムと同じ仕組みを使ったひ孫アイテム、やしゃ孫アイテム・・・・ともっと深い階層も作成できます。」、ひ孫は二つ、やしゃ孫は三つ・・・と続けて設定します。(やしゃ孫アイテム展開用)また、アイテムオブジェクトフォルダも同様にアンダースコアの数によって上記のどのアイテムのアイテムオブジェクトフォルダになるかを指定できます。(孫アイテムのアイテムオブジェクトフォルダ)↑プロパティーツリー下部にあるタブページエリアにプロパティーが表示されます。プロパティーとは、オブジェクトツリーの各ノードが選択されたときに、対応する「*.PropertySQL」が実行され、その結果がタブ展開されて表示されたものです。プロパティーはいくつでも設定できます。_3コメント.PropertySQLという3つのプロパティー展開ファイルが設置され、各ファイル内に記述されているSQLの結果がタブ内に表示されています。ファイル名の先頭にアンダースコアを付ける事で、全ノードへのプロパティー設置が可能になっています。各ノードはアイコンを変更できます。オブジェクトフォルダのアイコンを変更するには、そのオブジェクトフォルダ直下に、「Icon.ico」という名称のアイコンファイルを設置してください。アイテムノードにアイコンを設定する場合は、各階層にあわせてアンダースコアを付けてIcon.icoを設置してください。(子アイテムアイコン)Iconファイルが存在しない場合は、デフォルトアイコンとして、アプリケーション(exe)のアイコンが使用されます。Iconは親ノードを継承します。親ノードと同じアイコンが表示されると言うことです。これを変更するには、上記のように、Iconファイルを新たに設置してください。↑アイテムフォルダ名変更アイテムフォルダとして表示されるノードのキャプションを変更することが出来ます。ターゲットフォルダ直下に「Title.sql」ファイルを設置し、1レコード、1フィールドが帰るSQLを記述しておけば、その1レコード目の1フィールド目の結果テキストがノードキャプションになります。