SQLプロシジャによって返されるリターンコードについて
[OS]ALL
[リリース] 6.12, 8.1, 8.2
[キーワード] macro, mprint, mfile, program
[質問]SQLプロシジャには、処理が失敗したときの値を格納する変数があるそうですが、それはどのようなものでしょうか?
[回答]自動マクロ変数「&SQLRC」がその変数です。自動マクロ変数「&SQLRC」には、SQLプロシジャによって返されるリターンコードが格納されます。処理が正常終了したときは「0」、それ以外の場合には「1」以上の値を返します。 「&SQLRC」の値は、次のいずれかになります(ただし、RDBMSおよびSASの仕様によって、リターンコードの値が異なる場合がありますので、検証を行なってから使用することをおすすめします)。
■ &SQLRCの使用例 この例では、存在しないDB2テーブル「emp」から、新しいテーブル「samptbl」を作成しようとしているため、マクロ変数「&SQLRC」には「8」という値が格納されます。
proc sql; connect to db2 (db=sampdb user=userid password=passwd); create table samptbl as select * from connection to db2 ( select * from emp ); %put &sqlrc; quit;
|