ACCESS to Oracleのパススルー機能にてWHERE句にマクロ変数を利用する
[OS] ALL
[リリース] ALL
[キーワード] ACCESS, ORACLE, SQL Pass-Thru, WHERE clause, macro variable
[質問]
SQLプロシジャのパススルー機能にてOracleのWHERE句にマクロ変数を利用したいと思っています。
[回答]
特殊文字をクォートする%STRマクロ関数と%を利用して、単引用符をマークすることで対応可能です。 下記の例では、SQLパススルーのWHERE句に記述する条件式にて、変数名enameの値をマクロ変数&MACVとして定義できるように%STRマクロ関数と%でマクロ変数を定義しています。 例:パススルーSQLでのマクロ変数の使用 %LET macv=ALLEN; PROC SQL; CONNECT TO ORACLE(USER=xxx PASSWORD=xxx PATH="@xxx"); SELECT * FROM CONNECTION TO ORACLE ( SELECT COUNT(*) FROM emp WHERE ename=%STR(%'&MACV%') ); DISCONNECT FROM oracle; QUIT; |