EXECUTE IMMEDIATEで引用できるプロセス変数
日付 | 2010/10/27 |
---|---|
ID | 76179 (英語原文参照) |
バージョン | v11 |
プラットフォーム | Mac/Win |
SQLコマンドEXECUTE IMMEDIATEは, テキストで渡されたSQL文を実行時に評価するコマンドです。4DのEXECUTE FORMULAコマンドなどと同様, このコマンドに渡されるコードには, 4Dのプロセス変数などをテキストで引用することができます。
$statement_t:="SYNCHRONIZE LOCAL TABLE "+$tableDef_t $statement_t:=$statement_t+" WITH " $statement_t:=$statement_t+" REMOTE TABLE "+$tableDef_t $statement_t:=$statement_t+" FOR REMOTE STAMP :remoteStamp_l," $statement_t:=$statement_t+" LOCAL STAMP :localStamp_l" $statement_t:=$statement_t+" LOCAL OVER REMOTE" $statement_t:=$statement_t+" LATEST REMOTE STAMP :latestRemoteStamp_l," $statement_t:=$statement_t+" LATEST LOCAL STAMP :latestLocalStamp_l;" Begin SQL EXECUTE IMMEDIATE :$statement_t; End SQL
実行時にプロセス変数remoteStamp_l, localStamp_l, latestRemoteStamp_l, latestLocalStamp_lが正しく宣言されていれば, このSQLはコンパイルモードでも正しく動作します。ただし, コンパイラは, テキストの中で引用されている変数をチェックすることはないので, コードに間違いがあったとしても, 実行するまでそれは判明しません。