- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
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.”
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
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
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
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
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
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.