My delete statement returns a 933 error in Oracle, I\'m not sure what is wrong-
DELETE b from temp a JOIN fact_tab b on a.col1 = b.col1 and a.col2 = b.col2 and
Oracle doesn't allow JOIN in a DELETE statement directly like that.
You could do the delete in the following way:
DELETE FROM fact_tab WHERE ROWID IN (SELECT b.rowid FROM temp a JOIN fact_tab b ON a.col1 = b.col1 AND A.col2 = b.col2 AND A.col3 = b.col3 );
You could also use WHERE EXISTS clause.
WHERE EXISTS