2014年10月5日日曜日

SQLプロシジャ入門8:レコードを削除する【DELETE】


SQLプロシジャによるレコードの削除方法を紹介します。



サンプルデータ

data DT1;
  A=1; output;
  A=2; output;
  A=3; output;
run;


  A  
  1
  2
  3


data DT2;
  A=2; output;
  A=3; output;
run;


  A  
  2
  3


構文1

proc sql;
  delete from DT1
  where A = 2;
quit;

DT1
 A  
  1
  3


基本構文
  DELETE  FROM 対象のデータセット
  WHERE 削除条件


構文2

proc sql;
  delete from DT1
  where A in (select A from DT2);
quit;

DT1
 A  
  1


解説
他のデータセットから選択したレコードを削除条件にすることも出来る


構文3

proc sql;
  delete from DT1;
quit;

DT1
 A  


解説
削除条件を省略すると、すべてのレコードが削除される。


ただし、SQLによる行削除には注意点あり(行削除の落とし穴を参照)



SQLプロシジャ入門記事一覧
1.変数を選択する【SELECT】
2.レコードを並べ替える【ORDER BY】
7.レコードを追加する【INSERT】
8.レコードを削除する【DELETE】
9.値を更新する【UPDATE】
10.デカルト積をつくる【CROSS JOIN】

0 件のコメント:

コメントを投稿