ページの先頭行へ戻る
Enterprise Postgres 10 アプリケーション開発ガイド
FUJITSU Software

D.8.2 defineおよびundef指示子

Cで既知の#define指示子と同様、埋め込みSQLでも似たような概念を持ちます。

EXEC SQL DEFINE name END-EXEC.
EXEC SQL DEFINE name value END-EXEC.

このため、以下のように名前を定義することができます。

EXEC SQL DEFINE HAVE_FEATURE END-EXEC.

また、定数を定義することもできます。

EXEC SQL DEFINE MYNUMBER 12 END-EXEC.
EXEC SQL DEFINE MYSTRING 'abc' END-EXEC.

事前の定義を削除するにはundefを使用します。

EXEC SQL UNDEF MYNUMBER END-EXEC.

SQL文内の定数は、EXEC SQL DEFINEによって置き換えられるだけであることに注意してください。置換によって1行の文字数が変わる場合がありますが、 ecobpgは置換後の1行の文字数の妥当性をチェックしません。1行の文字数の制限に収まるようにDEFINEを使用してください。