楼主: xulimei1986
1324 2

日志中有删除记录,实际数据表中未删除? [推广有奖]

  • 3关注
  • 0粉丝

博士生

68%

还不是VIP/贵宾

-

威望
0
论坛币
41 个
通用积分
0
学术水平
3 点
热心指数
8 点
信用等级
3 点
经验
22590 点
帖子
138
精华
0
在线时间
439 小时
注册时间
2012-3-20
最后登录
2019-5-11

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
下面这段程序是删除M3 的use_name 在temp1中的记录,M3中之前有n1条记录,运行程序后,日志中显示删除了n2条记录,但是打开M3时仍然还有n1条记录,求各位大侠解答下!

proc sql;
delete from M3
where use_name in (select use_name from temp1);
quit;
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:实际数据 数据表 proc sql delete Select sql where

家家有本难念的经,计较的少一点,会和睦许多!!
沙发
getstory 发表于 2012-10-17 16:35:18 |只看作者 |坛友微信交流群
我试了下是可以的。你的完整代码呢?

687  data temp1(keep=use_name);
688  set sashelp.vtable;
689  rename memname=use_name;
690  run;

NOTE: 从数据集 SASHELP.VTABLE. 读取了 109 个观测
NOTE: 数据集 WORK.TEMP1 有 109 个观测和 1 个变量。
NOTE: “DATA 语句”所用时间(总处理时间):
      实际时间          0.06 秒
      CPU 时间          0.07 秒


691
692  data M3(keep=use_name);
693  set temp1;
694  if _N_<=50;
695  run;

NOTE: 从数据集 WORK.TEMP1. 读取了 109 个观测
NOTE: 数据集 WORK.M3 有 50 个观测和 1 个变量。
NOTE: “DATA 语句”所用时间(总处理时间):
      实际时间          0.00 秒
      CPU 时间          0.00 秒


696
697  proc sql;
698  delete from M3
699  where use_name in (select use_name from temp1);
NOTE: 有 50 行从 WORK.M3 中删除。

700  quit;
NOTE: “PROCEDURE SQL”所用时间(总处理时间):
      实际时间          0.00 秒
      CPU 时间          0.01 秒

使用道具

藤椅
xulimei1986 发表于 2012-10-17 16:44:32 |只看作者 |坛友微信交流群
getstory 发表于 2012-10-17 16:35
我试了下是可以的。你的完整代码呢?

687  data temp1(keep=use_name);
我程序并没有报错,M3中有919320条记录,temp1中有485075条记录,用上述程序跑一遍后,日志中显示有删除,实际上M3中还是原表,后来没办法,就改用下面的程序做的:
data temp1;
set temp1;
n=1;
run;
proc sort data=temp1;by use_name;run;
proc sort data=m3;by use_name;run;
data temp2;   
   merge m3  temp1;
   by use_name;
  if n=1 then delete;
drop n;
run;
家家有本难念的经,计较的少一点,会和睦许多!!

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-11-5 18:27