SQL文にOracleのhint文を組み込む方法

[OS] ALL
[リリース] SAS System 8以降
[キーワード] ACCESS, ORACLE, hint, comment, PRESERVE_COMMENTS

[質問]

SQLプロシジャで実行するSQLに、Oracleのhint文 ( /*+ hint文 */ )を組み込んで検索を行なうことを検討しています。
しかし、「/*」と「*/」で挟まれた文字列は、SASではコメントとして扱われてしまうため、実際にOracleに受け渡されるSQL文からはhint文が削除された状態になってしまいます。
hint文を有効にするにはどうしたらよいでしょうか。

[回答]

SQLプロシジャのCONNECTステートメントにPRESERVE_COMMENTSオプションを指定することで、「/*」と「*/」で挟まれた文字列を有効にできます。


   PROC SQL;
     CONNECT TO ORACLE AS test_sql(
     USER = USER
     ORAPW = "ORAPW"
     PATH = "PATH"
     BUFFSIZE = 400
     PRESERVE_COMMENTS);                    /* Oracle hint を有効にする */

     CREATE VIEW work.testdata AS
       SELECT * FROM CONNECTION TO test_sql(
         SELECT /*+ Oracle hint文 */
           col1,col2 FROM a
       );
   DISCONNECT FROM test_sql;
   QUIT;