SQLプロシジャによるレコードの追加方法を紹介します。
data DT1; A=1; B="AA"; output; A=2; B="BB"; output; run; data DT2; A=5; C="AAA"; output; A=6; C="BBB"; output; run; データセットDT1
データセットDT2
|
proc sql; insert into DT1 (A,B) values (3,"CC"); quit;
INSERT INTO 対象のデータセット ( 対象の変数 , … ) VALUES ( 格納したい値 , … ) |
proc sql; insert into DT1 values (4,"DD"); quit; 構文1から( 対象の変数 … )部分を省略するとデータセットに格納されてる変数順にVALUESで指定した値を格納していきます。 |
proc sql; insert into DT1 (A,B) select A,C from DT2; quit; ・SELECT,FROMなどで抽出したレコードを、INSERT INTOで指定したデータセットに追加します。 ・INSERTとSELECTで変数名が異なっていても順番で対応づけられます(上記の例ではDT1の変数BにDT2の変数Cの値を格納しています。) ・ちなみに構文2と同様、青字部分を省略して書くことも出来ます。 ・今回の例ではログにWARNINGが表示されます。理由は記事の下の方に記載した「注意点」を参照ください。 |
proc sql; insert into DT1 set A=7, B="EE"; quit; 「SET 変数名=格納したい値, …」 という書き方もあります。 |
[注意点]
追加する値が、もとのLENGTHよりも大きい場合、もとのLENGTHにあわせて文字を切った状態で追加されます。(ログにWARNINGも表示される)
0 件のコメント:
コメントを投稿