Bonjour à tous,

J'essaie actuellement de supprimer des records dans une table oracle, mais il y a un trigger qui demande une justification et qu'il faut populer avant dans une table qui se vide après chaque commit. Donc je doit populer la raison du delete, puis faire le delete en sas de sorte que le commit ne se fasse qu'après les 2 statements (insert/delete). Voici mon code:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
proc sql noprint;
Connect to oracle (path="&acc_path" user="&acc_user" pw="&acc_pw");
	Execute (alter session set current_schema=&acc_schema) by oracle;
	EXECUTE (insert into audit_details(user_id) values ('reason1')) by oracle;
	EXECUTE (delete from range where range_id in (87029,87030)) by oracle;
Quit;
Le problème est que sas fait un commit après l'insert et le trigger empêche le delete car il n'y a pas de valeur dans la table d'audit.
Une idée decomment faire cela?

Bonne journée et bàv,

Mikael