eDocArrangement2 ヘルプ / 共通マクロ書式
SQL実行 で結果を返すSQL(SELECT)を実行した結果のレコードは、 レコードの繰り返し の中でテキストファイル書式の「 GET_FIELD_VALUE 」、「 GET_FIELD_VALUES_IN_CSV 」、「 GET_FIELD_VALUES_IN_TSV 」、「 GET_FIELD_VALUES_IN_SV 」マクロを使って取得できます。
SQLを実行して条件にマッチしたレコードをユーザーデータにセットします。検索の結果レコードが複数マッチしても最初の1レコードのみ取得します。 結果は指定したユーザーデータ名に1から始まる番号をキーにして項目値が格納されます。
このマクロは SQL実行 を使用せずマクロでSelect文を指定してレコードを取得します。
例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)}
テキスト読み込みで読み込んだテキスト、又は、SQL実行のSLELCT文の結果レコードをSQL用のカンマ区切りテキストとして取得します。本マクロでは、SQLに必要なエスケープ処理を行います。
このマクロは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);
GET_FIELD_VALUES_IN_SQL_VALUES と同じですが、項目を列名で指定できます。但し、ヘッダ情報があるテキストを読み込んだ場合のみ使用できます。SQL実行のSELECT文の結果レコードに対しては使用できません。
このマクロはSQL文に使う場合に使用します。SQLのエスケープ処理を目的としています。
引数で指定されたユーザーデータの全項目値を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);
引数で指定されたDB接続のトランザクションを開始します。
例1 DB接続1のトランザクションを開始する。
{%BEGIN_TRANSACTION(DB接続1)}
引数で指定されたDB接続のトランザクションをコミットします。
例1 DB接続1のトランザクションをコミットする。
{%COMMIT(DB接続1)}
引数で指定されたDB接続のトランザクションをロールバックします。
例1 DB接続1のトランザクションをロールバックする。
{%ROLLBACK(DB接続1)}