I have been deleting records logically from one dataset , when i checked size of dataset is remains always same after deletion of records also .
Query used :-
proc sql;
delete from ADFBASE.advdep_final_sas1;
quit;
Result :-
NOTE: 57589 rows were deleted from ADFBASE.ADVDEP_FINAL_SAS1.
But when i checked size of ADFBASE.ADVDEP_FINAL_SAS1 in server , it is still same after deletion of 57589 records.
we are using same code for many dataset and it is just deleting data only Logically not physically.
I want to delete the records which are already deleted so that it will free size for that dataset.
How to delete records which were already deleted logically ?
you need just copy it to itself:
data ADFBASE.ADVDEP_FINAL_SAS1;
set ADFBASE.ADVDEP_FINAL_SAS1;
run;
the logical deleted observations will not be copied.
Do you want to delete all records or remove the table entirely?
I want to remove some records physically which is already removed from dataset using below query:-
proc sql ;
delete from advdep_final_sas1;
quit;
after using above query the size of datset remains same that means it is not deleting records from dataset physically.
How to remove records from dataset which was deleted previouslly ?
you need just copy it to itself:
data ADFBASE.ADVDEP_FINAL_SAS1;
set ADFBASE.ADVDEP_FINAL_SAS1;
run;
the logical deleted observations will not be copied.
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.