ВУЗ:
Составители:
Рубрика:
37
JZ[hlm f_oZgbafZ ljb]]_jZ ijhbeexkljbjm_f gZ ijbf_j_ Ijb \\h^_
agZq_gby^hklZlhqgh[ebadh]hdkj_^g_fm\^ZgghfkemqZ_ 40),ljb]]_jg_
aZimkdZ_lkybgbq_]hg_ijhbkoh^blIjb\\h^_agZq_gbyZljb[mlZjZ\gh
]h 90,khhl\_lkl\mxsZyklZlbklbdZmdZau\Z_lgZ[hevrh_mdehg_gb_ijhbk-
oh^bl kjZ[Zlu\Zgb_ ljb]]_jZ b gh\Zy kljhdZ g_ \dexqZ_lky Hi_jZpby \u
[hjdbih^l\_j`^Z_lh`b^Z_fh_baf _g_gb_\lZ[ebp_
SQL> insert into tab1 values (40);
I row created.
SQL> insert into tab1 values (90);
insert into tab1 values (90)
ERROR at line 1:
ORA-20002:Kebrdhf[hevrh_mdehg_gb_
ORA-06512: at "SYSTEM. TRIG_TBI", line 9
ORA-04088: error during execution
of
trigger 'SYSTEM .TRIG_TBI'
SQL> select * from tab1;
Ke_^mxsbc ijbf_j beexkljbjm_l \hafh`ghklv h[jZ[hldb bkdexqb
l_evghc kblmZpbb kj_^kl\Zfb ihevah\Zl_evkdhc ijh]jZffu <^Zgghf kem
qZ_kha^Z_lkyljb]]_jdhlhjucijb ij_\ur_gbbaZ^Zggh]hihjh]Zmdehg_
gby\\h^bfh]hagZq_gbyZljb[mlZ\u\h^bl^bZ]ghklbq_kdh_khh[s_gb_Ijb
wlhf^Zggu_\lZ[ebpm\\h^ylky
IJBF?J
SQL> CREATE OR REPLACE TRIGGER TRIG_TB2
2 BEFORE INSERT ON LZb1
3 FOR EACH ROW
4 DECLARE
5 StatAvg NUMBER;
6 StatN NUMBER;
7 Special_case EXCEPTION; --Ihevah\Zl_evkdZybkdexqbl_evgZykb
lmZpby
8 BEGIN
9 SELECT COUNT(Atl),SUM(AtI) INTO StatN, StatAvg
10 FROM Tab1;
11 IF (ABS (StatAvg - StatN* (: new. Atl)) > 30)
12 THEN RAISE Special_case;
13 END IF;
14 EXCEPTION
15 WHEN Special_case THEN
16 DBMS_OUTPUT
.
PUT_LINE ( 'Kebrdhf[hevrh_mdehg_gb_ ');
17 WHEN OTHERS THEN
18 DBMS_OUTPUT. PUT_LINE ( ' He^bZ]ghklbjh\ZggZyhrb[dZljb]]_jZ '
) ;
������� ���������� ��������� ���������������� ��� ��������� ���� ������ ��������������������������������������������������������� 40),������������ �������������������������������������������������������������������������� �� 90,�����������������������������������������������������������������- ������ ������������� ���������� �� ������ ������� ��� ������������ ��������� ��� ������������������������������������������������� SQL> insert into tab1 values (40); I row created. SQL> insert into tab1 values (90); insert into tab1 values (90) ERROR at line 1: ORA-20002:�������������������������� ORA-06512: at "SYSTEM. TRIG_TBI", line 9 ORA-04088: error during execution of trigger 'SYSTEM .TRIG_TBI' SQL> select * from tab1; ���������� ������� ������������� ������������ ���������� �������� �������� ��������� ����������� ����������������� ����������� �� ������� ���� ����������������������������������������������������������������������� ������������������������������������������������������������������������ ������������������������������� ������������� SQL> CREATE OR REPLACE TRIGGER TRIG_TB2 2 BEFORE INSERT ON ��b1 3 FOR EACH ROW 4 DECLARE 5 StatAvg NUMBER; 6 StatN NUMBER; 7 Special_case EXCEPTION; --������������������������������������ ������� 8 BEGIN 9 SELECT COUNT(Atl),SUM(AtI) INTO StatN, StatAvg 10 FROM Tab1; 11 IF (ABS (StatAvg - StatN* (: new. Atl)) > 30) 12 THEN RAISE Special_case; 13 END IF; 14 EXCEPTION 15 WHEN Special_case THEN 16 DBMS_OUTPUT. PUT_LINE ( '�������������������������� '); 17 WHEN OTHERS THEN 18 DBMS_OUTPUT. PUT_LINE ( ' He���������������������������������� ' ); 37