下記は、WriteReportで使うSelectを使うSQL文を下記のように指定できます。
注意:Union文は、XCuteでのフィルターやソートを掛ける時は、下記のように入れ子にしてください。
ボタンで、SQL文にSelect *
などとしていると列名を取り出せます。
注意: 「Select * From
Table」のようなワイルドカード(*)を使ったときの弊害
ボタンで、データベースを変更することもできます。但し、変更先のデータベースにSQL文で指定したテーブルが存在しないと、当然エラーとなります。
ボタンで、つぎのパネルが開き、テーブル名をクリップボードへコピーできます。
SQL文の指定パネルでは、WriteReportやReadReportに使うSelect文を指定するのが普通の使い方ですが、下記のようにDelete文など他の値を返さないSQL文を指定することも可能です。Select
以外のSQL文を指定するには、このパネルを最初に開けた時に、下記の(EXT_SQL機能)チェックボックスにチェックを入れ、Delete文などの値を返さないSQLを指定します。EXT_SQLのチェックをONにすると、EXT_SQLの実行ボタンが実行可能となり、これを押下して、下記のようにSQL文を試せます。
ここで試したSQL文をExcelの中から実際に実行するのが、EXT_SQLコマンドです。
なお、XCuteでは、データベースの排他制御 にTransaction機能を使いますが、別項を参照してください。
参照:EXT_SQLコマンド
3.EXT_SQLでのプロシージャなどの利用
データベースの種類によって、プロシージャなどの利用の仕方は異なります。
値を返すプロシージャでは、SQLのSELECT文と同じように下記のように指定します。
値を返さないプロシージャでは、まず下記のようにテストし、正しく動作することを確かめます。
実際に使うには、ひな型シートR3C8
以降のセルにEXT_SQLコマンドとして指定します。
上記は、MySQLでのテスト結果ですが、プロシージャの指定の仕方はDBによってかなり異なります。
SQL
Serverでは値を返すあるいは返さないプロシージャを作り、Exec dbo.PR_EMP 7900
などとと指定します。
Oracleでは、Procedureなどは、CALL
TINS(123,'ABCD')などとし、値を返すFunctionでは普通のSelect文で Select Func1(7900) From DUAL
などと指定します。
AS400のDB2では値を返さないプロシージャを、CALL PROC1(123,'ABCD') などと指定します。
参照
○各種データベース対応
○多国語対応(UTF-8)
○EXT_SQLコマンド
○DBの排他制御