EXECUTE コマンドを使って、リモート・データベースに対する SQL ステートメントを実行します。実行モードには次の 4 つのタイプがあります。

SQL コマンドのエスケープ

リテラル SQL ステートメント内で使用する括弧、一重・二重引用符については問題があります。

ですから、この SQL コマンド内でエスケープし、キーワード値を守る考慮が必要となります。例えば、以下に示すように、SQL コマンドの構文で必要な一重引用符が、RDML 言語でコマンド文字列の作成時に必要となる一重引用符と競合する可能性があります。

EXECUTE UPDATE(UPDATE TABLE SET COL1='value')
EXECUTE UPDATE(DELETE FROM TABLE WHERE COL1='value')

SQLステートメントに開き括弧や閉じ括弧がある場合、ステートメント全体を二重引用府で囲む必要があります。例えば、次のようになります。

EXECUTE PREPARED("INSERT INTO TABLE (COL1,COL2,COL3) VALUES(?,?,?)")

  • No labels