ステートメント

「ステートメント (Statement)」フィールドに、SQL ステートメントを入力するか貼り付けます。「ステートメント」フィールドに SQL ステートメントが既に含まれている場合は、(SQL ウィザードを使用して SQL ステートメントがインポートまたは作成されている場合でも) 編集できます。

マクロ・エディターは、SQL ステートメントの形式の妥当性をチェックしません。形式が無効の場合、マクロ・ランタイムが SQLQuery アクションを処理するときにランタイム・エラーが発生します。

SQL ステートメントに精通していない場合は、Database On-Demand セッションでステートメントを作成およびテストしてから、 そのステートメントを「ステートメント (Statement)」フィールドにコピーして貼り付けると良いでしょう。これで、SQL ステートメントの構文および内容が正しいことを確認できます。

SQL ステートメントは、複数行にまたがって書き込むことも (Database On-Demand セッションの「検討」タブに表示される場合のように)、1 行に書き込むこともできます。図 1 および 図 2 は、同じ SQL ステートメントが、複数行にわたって書き込まれた場合と 1 行に書き込まれた場合を示します。どちらも正しい方法です。
図 1. 複数行にまたがって書き込まれた SQL ステートメント
SELECT
   *
FROM
   ZIETEST.EX01
WHERE
   (
      ( ZIETEST.EX01.DESCRIPT is not null )
   )
図 2. 1 行に書き込まれた同じ SQL ステートメント
SELECT * FROM ZIETEST.EX01 WHERE((ZIETEST.EX01.DESCRIPT is not null))
拡張マクロ形式を使用する場合、SQL ステートメントを単一引用符で囲み、 特殊文字の規則に従う必要があります (基本マクロ形式と拡張マクロ形式の比較を参照)。下記の図 3 および 図 4 は、 基本マクロ形式用と拡張マクロ形式用の同じ SQL ステートメントを示しています。
図 3. 基本マクロ形式で作成された SQL ステートメント
select * from zietest.ex01 where
      ((zietest.ex01.descript='Edit Products'))
図 4. 拡張マクロ形式用の同じ SQL ステートメント
'select * from zietest.ex01 where
      ((zietest.ex01.descript=\'Edit Products\'))'
予約語 (select など) や、データベース名およびフィールド (zietest.ex01.descript など) には大文字でも小文字でも使用できますが、マッチング・ストリング ('Edit Products' など) には大/小文字をそのとおりに使用する必要があります。したがって、図 5 の 2 つの SQL ステートメントは同等です。
図 5. 同等の大文字および小文字の例
select * from zietest.ex01 where
      ((zietest.ex01.descript='Edit Products'))
SELECT * FROM ZIETEST.EX01 WHERE
      ((ZIETEST.EX01.DESCRIPT='Edit Products'))