1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
|
Connected to Oracle Database 10g Express Edition Release 10.2.0.1.0
Connected as mni
SQL>
SQL> create table test_trg (a number)
2 /
Table created
SQL> create procedure p_raise_err(p_in varchar2)
2 Is
3 Begin
4 Raise_application_error(-20010, p_in);
5 End;
6 /
Procedure created
SQL> create trigger bi_test_trg
2 before insert on test_trg
3 for each row
4 begin
5 If :new.a > 5 Then
6 p_raise_err('insert interdit');
7 End If;
8 Dbms_output.put_line('Triger Ok');
9 end;
10 /
Trigger created
SQL> create procedure p_test_trg (p_in In number)
2 Is
3 Begin
4 insert into test_trg values (p_in);
5 Exception
6 When Others Then
7 Dbms_output.put_line('Erreur : '||sqlerrm);
8 End;
9 /
Procedure created
SQL> set serveroutput on
SQL> exec p_test_trg(1);
Triger Ok
PL/SQL procedure successfully completed
SQL> exec p_test_trg(10);
Erreur : ORA-20010: insert interdit
ORA-06512: à "MNI.P_RAISE_ERR", ligne 4
ORA-06512: à "MNI.BI_TEST_TRG", ligne 3
ORA-04088: erreur lors d'exécution du déclencheur 'MNI.BI_TEST_TRG'
PL/SQL procedure successfully completed
SQL> |
Partager