Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Wie werden Ausnahmen behandelt und verbleibende Anweisungen ausgeführt?

umbrechen Sie die Zeilen mit begin ... end ... exception es ist wie try / catch

for i in 1..acd.count loop

begin 
   insert into customer_account_mapping select customerid,upper(pcd(i)),upper(acd(i)),cost from customer_master where customername=customer_name and concat(upper(pcd(i)),upper(acd(i))) not in (select concat(upper(pcode),upper(acode)) from customer_account_mapping);
exception when others then 
   -- handle the exception
end;

insert into user_permissions select distinct user_id,sales_person_name,sales_mgr_name,upper(pcd(i)),upper(acd(i)) from user_permissions where sales_person_name=sales_person and concat(upper(pcd(i)),upper(acd(i))) not in (select concat(upper(pcode),upper(acode)) from user_permissions) and rownum<2 ;
commit;
end loop;