批量delete或drop数据集
来源:互联网 发布:linux卸载软件 yum 编辑:程序博客网 时间:2024/05/16 17:07
批量delete或drop数据集
经过一系列的程序,work临时文件夹里有了很多过程数据集比如a1,a2,a3……;感觉看着不爽想删掉,怎么办?
你可以这么做:
proc delete data=a1 a2 a3;run;
如果你想精简程序为:
proc delete data=a1-a3;run;
那么很遗憾,sas出错了,因为proc delete 读不懂a1-a3;
如果临时数据集很多比如有99个,恰好都是a开头,如果1个1个分开写,估计会累死;那么怎么办?
其实,这么有规律的数据集,你就可以用循环语句了,你可以这么来
%macro dd;
%do i=1 %to 99;
proc delete data=a&i;run;
%end;
%mend;
%dd;
这样你就可以搞定了。
这比上面分开写99个数据集好多了。
如果你是程序控,你一定会觉得不爽,还是觉得烦了,那么有无更简便方法,答案是有的。
利用proc datasets 过程;你可以这么写
proc datasets lib=work ;delete a1-a99;run;
于是世界清静了。proc datasets 比 proc delete 聪明,a1-a99,他懂的!
到此为止,一般人不会再研究了,但是“程序控”还是不爽,因为如果临时数据集如果名字没那么规律怎么办?
其实proc datasets 功能很强大,他可以像 keep 和 drop 那样,drop太多了不好写,可以写keep,只是在datasets里面它用的是save 和 delete。
datasets其他用法,程序控们可以参见http://blog.sina.com.cn/s/blog_5d3b177c0100bamo.html
例1: drop表
利用循环依次删除表
Tmp_cwy_zfb_1610
Tmp_cwy_zfb_1611
Tmp_cwy_zfb_1612
%macro dd;
%do i=10 %to 12;
*rsubmit;
proc sql;
drop table rdmtmp.Tmp_cwy_zfb_16&i.;
quit;
*endrsubmit;
%end;
%mend;
%dd;
例2: delete表: 删除t1,t2,t3
proc sql;
create table rdmtmp.t1(id varchar(10));
create table rdmtmp.t2(id varchar(10));
create table rdmtmp.t3(id varchar(10));
quit;
proc datasets lib=rdmtmp; delete t1-t3; run;
经过一系列的程序,work临时文件夹里有了很多过程数据集比如a1,a2,a3……;感觉看着不爽想删掉,怎么办?
你可以这么做:
proc delete data=a1 a2 a3;run;
如果你想精简程序为:
proc delete data=a1-a3;run;
那么很遗憾,sas出错了,因为proc delete 读不懂a1-a3;
如果临时数据集很多比如有99个,恰好都是a开头,如果1个1个分开写,估计会累死;那么怎么办?
其实,这么有规律的数据集,你就可以用循环语句了,你可以这么来
%macro dd;
%do i=1 %to 99;
proc delete data=a&i;run;
%end;
%mend;
%dd;
这样你就可以搞定了。
这比上面分开写99个数据集好多了。
如果你是程序控,你一定会觉得不爽,还是觉得烦了,那么有无更简便方法,答案是有的。
利用proc datasets 过程;你可以这么写
proc datasets lib=work ;delete a1-a99;run;
于是世界清静了。proc datasets 比 proc delete 聪明,a1-a99,他懂的!
到此为止,一般人不会再研究了,但是“程序控”还是不爽,因为如果临时数据集如果名字没那么规律怎么办?
其实proc datasets 功能很强大,他可以像 keep 和 drop 那样,drop太多了不好写,可以写keep,只是在datasets里面它用的是save 和 delete。
datasets其他用法,程序控们可以参见http://blog.sina.com.cn/s/blog_5d3b177c0100bamo.html
例1: drop表
利用循环依次删除表
Tmp_cwy_zfb_1610
Tmp_cwy_zfb_1611
Tmp_cwy_zfb_1612
%macro dd;
%do i=10 %to 12;
*rsubmit;
proc sql;
drop table rdmtmp.Tmp_cwy_zfb_16&i.;
quit;
*endrsubmit;
%end;
%mend;
%dd;
例2: delete表: 删除t1,t2,t3
proc sql;
create table rdmtmp.t1(id varchar(10));
create table rdmtmp.t2(id varchar(10));
create table rdmtmp.t3(id varchar(10));
quit;
proc datasets lib=rdmtmp; delete t1-t3; run;
阅读全文
0 0
- 批量delete或drop数据集
- 数据删除 delete、drop、truncate 區別
- mysql truncate/delete/drop 删除表数据
- MySQL删除表数据:drop、truncate、delete
- 删除数据--truncate和delete以及drop的用法
- Oracle数据被删除(delete,drop)之后的恢复方式
- 清空表数据和删除表truncate、delete、drop
- 简单数据删除(DROP TABLE语句和DELETE)
- 删除表数据drop、truncate和delete的区别
- 删除表数据drop、truncate和delete的用法
- sqlserver---删除表数据drop、truncate和delete的用法
- mysql删除表数据(drop、truncate和delete)
- delete、truncate和drop清空表数据的区别?
- truncate,delete,drop
- delete,truncate,drop 区别
- truncate,drop,delete區別
- truncate,delete,drop 比较
- drop truncate delete区别
- 平安科技2017笔试题目
- TCP协议与UDP协议的区别
- httpclient中get和post的区别
- 函数、方法和接口的区别
- 关于kali无法成功安装vmwaretools的解决办法
- 批量delete或drop数据集
- linux学习简记
- 依赖注入综合示例
- 2017 高教社杯全国大学生数学建模竞赛 A 题评阅要点
- 天若有情天亦老
- SESSION存入memcached
- 如何使用proc compare比较两个数据集
- python爬虫系列(四):请求伪装的做法
- ok请求