HELP

共通マクロ書式

データベース書式

SQL実行で結果を返すSQL(SELECT)を実行した結果のレコードは、テキストファイル書式の「GET_FIELD_VALUES_IN_CSV」、「GET_FIELD_VALUES_IN_TSV」、「GET_FIELD_VALUES_IN_SV」マクロを使って取得できます。

NAME レコード取得
FORMAT {%GET_RECORD(DB接続処理名,格納先ユーザーデータ名,SQL)}

SQLを実行して条件にマッチしたレコードをユーザーデータにセットします。検索の結果レコードが複数マッチしても最初の1レコードのみ取得します。 結果は指定したユーザーデータ名に1から始まる番号をキーにして項目値が格納されます。

例1
テキスト読み込み1で取得した1番目の項目値をidの検索条件にして、「id_summary_tbl」テーブルを検索します。結果はユーザーデータ「RET」に格納されます。
{%GET_RECORD(DB接続1,RET,select count(id) from id_summary_tbl where id={%GET_FIELD_VALUES_IN_SQL_VALUES(テキスト読み込み1,1)};)}

上記のマクロを実行した結果、「id_summary_tbl」テーブルに該当のidが見つかった場合、1以上の数字がユーザーデータにセットされます。見つからない場合は0がセットされますので、以下の条件式でTrueを返却することができます。

{%IF({%GET_USER_DATA(RET,1)}=0,True,False)}
NAME テキストファイルからSQL項目値テキスト取得
FORMAT {%GET_FIELD_VALUES_IN_SQL_VALUES(テキスト読み込み処理名,列番号,列番号,…)}

テキスト読み込みで読み込んだテキスト、又は、SQL実行のSLELCT文の結果レコードをSQL用のカンマ区切りテキストとして取得します。本マクロでは、SQLに必要なエスケープ処理を行います。

例1
テキスト読み込み1で取得した1番目の項目値をidとして、id_summary_tblテーブルに登録するSQLは以下の様になります。
INSERT INTO id_summary_tbl (id,id_count) VALUES({%GET_FIELD_VALUES_IN_SQL_VALUES(テキスト読み込み1,1)},1);
NAME テキストファイルからSQL項目値テキスト取得(列名で指定)
FORMAT {%GET_FIELD_VALUES_IN_SQL_VALUES_BY_NAME(テキスト読み込み処理名,列名,列名,…)}

GET_FIELD_VALUES_IN_SQL_VALUES と同じですが、項目を列名で指定できます。但し、ヘッダ情報があるテキストを読み込んだ場合のみ使用できます。SQL実行のSELECT文の結果レコードに対しては使用できません。

NAME ユーザーデータからSQL項目値テキスト取得
FORMAT {%GET_USER_DATA_IN_SQL_VALUES(ユーザーデータ名)}

引数で指定されたユーザーデータの全項目値をSQL用のカンマ区切りテキストとして取得します。本マクロでは、SQLに必要なエスケープ処理を行います。

例1
ユーザーデータRETに格納されたデータをidとして、id_summary_tblテーブルに登録するSQLは以下の様になります。
INSERT INTO id_summary_tbl (id,id_count) VALUES({%GET_USER_DATA_IN_SQL_VALUES(RET)},1);
NAME トランザクション開始
FORMAT {%BEGIN_TRANSACTION(DB接続処理名)}

引数で指定されたDB接続のトランザクションを開始します。

例1
DB接続1のトランザクションを開始する。
{%BEGIN_TRANSACTION(DB接続1)}
NAME コミット
FORMAT {%COMMIT(DB接続処理名)}

引数で指定されたDB接続のトランザクションをコミットします。

例1
DB接続1のトランザクションをコミットする。
{%COMMIT(DB接続1)}
NAME ロールバック
FORMAT {%ROLLBACK(DB接続処理名)}

引数で指定されたDB接続のトランザクションをロールバックします。

例1
DB接続1のトランザクションをロールバックする。
{%ROLLBACK(DB接続1)}