function xxxxx return xxxx is
CURSOR c_mon_curseur IS
select * from dual;
r_mon_curseur table_cible%rowtype;
begin
open c_mon_curseur;
loop
FETCH c_mon_curseur INTO r_mon_curseur;
EXIT WHEN c_mon_curseur%notfound;
--process
end loop;
close c_mon_curseur;
end;
function xxxxx return xxxx is
CURSOR c_mon_curseur(p_parametre) IS
select * from dual d where d.toto = p_parametre;
begin
for r_mon_curseur in c_mon_curseur
loop
end loop;
end;
dbms_output.put_line('log');
BEGIN
SAVEPOINT debut_transaction;
-- process
EXCEPTION
WHEN OTHERS THEN
ROLLBACK TO debut_transaction;
DBMS_OUTPUT.PUT_LINE('Une erreur est survenue : ' || SQLERRM);
RETURN -1;
END;
function maFonction()
return number is
CHILD_RECORD_FOUND EXCEPTION;
PRAGMA EXCEPTION_INIT(CHILD_RECORD_FOUND, -2292);
begin
begin
--process
commit;
return 0;
EXCEPTION
WHEN CHILD_RECORD_FOUND THEN
RETURN - 2;
WHEN OTHERS THEN
RETURN - 1;
END;
end;
Se connecter avec un compte sys + en tant que sysdba
BEGIN
DBMS_NETWORK_ACL_ADMIN.CREATE_ACL(
acl => 'nomACL.xml',
description => 'xxxxxxxxxx',
principal => 'USER',
is_grant => TRUE,
privilege => 'connect'
);
DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(
acl => 'nomACL.xml',
principal => 'USER',
is_grant => TRUE,
privilege => 'resolve'
);
DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL(
acl => 'nomACL.xml',
host => 'xxx.xxx.xxx.xxx',
lower_port => 8080, -- pas obligatoire
upper_port => 8080 -- pas obligatoire
);
END;
/
COMMIT;
BEGIN
DBMS_NETWORK_ACL_ADMIN.DROP_ACL(
acl => 'nomACL.xml'
);
END;
/
COMMIT;