2016年7月4日月曜日

FedSQLプロシジャで変数名が予約語と被る場合の解決策


ネタ提供いただきました、ありがとうございます!



【質問】 以下FedSQLプロシジャを実行するとERRORが出ます。SQLプロシジャで動いてたのに何故?
data DT1;
  OF=1;
run;

proc fedsql;
   select OF
   from DT1;
quit;

ログ
ERROR: 構文エラー at or near "OF"


【回答】 FedSQLには予約語が存在します。
変数名をOFにしていますが、このOFが予約語だったのでERRORが出てしまったわけです。

解決策は以下のようにダブルクォーテーションで囲ってあげるだけです。

proc fedsql;
   select "OF"
   from DT1;
quit;

FedSQLにどんな予約語があるかはSAS社のリファレンスを確認してみてください。

0 件のコメント:

コメントを投稿