Hi ,
Need some advice on which type of methods can be used to efficiently and quickly delete a couple million rows in Oracle from SAS.
Some errors see during the course of action below.
Error received on SAS - “ERROR: Update/delete failed. The observation may have been changed or deleted since the time it was read. ORACLE execute error:
ORA-08177: can't serialize access for this transaction.
ERROR: ROLLBACK issued due to errors for data set XYZ
NOTE: Deletes were rolled back by the DBMS software.”
Hi,
You can use a Proc SQL:
Proc sql;
connect to oracle(user=yourusername pass=yourpass path=bd);
execute (truncate table yourtable)
by oracle;
quit;
Laurent
Hi,
You can use a Proc SQL:
Proc sql;
connect to oracle(user=yourusername pass=yourpass path=bd);
execute (truncate table yourtable)
by oracle;
quit;
Laurent
Do you want to delete tables, or rows in tables?
If you have the appropriate rights, drop table would work, can't see if you can optimize that.
If you want to delete rows effectively, that's more of an Oracle DBA question. Once you know the Oracle syntax, you might want to discover of you can achieve that using implicit SQL pass-thru from SAS.
Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.
Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.
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.