Bonjour,
Je rencontre le problème suivant dont j'aimerais que vous m'aidiez à comprendre.
Les codes correspondants a ce trigger et à cette procédure est:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 INSERT INTO RANDRIANO.RDR_MYClasses (ID, Name, Type) values (RANDRIANO.mypkg_guid.guidclass,'Class 4', '4') ORA-00922: option erronée ou absente ORA-06512: à "RANDRIANO.RDR_CREATETAB", ligne 11 ORA-06512: à "RANDRIANO.A_I_RDR_MYClasses", ligne 75 ORA-04088: erreur lors d'exécution du déclencheur 'RANDRIANO.A_I_RDR_MYClasses'
Je me demande si c'est un problème de casse ou bien un problème de roles c'est à dire de GRANT mais je remarque que le schéma ne doit pas être un schéma système (sysman)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93 CREATE OR REPLACE PROCEDURE RANDRIANO."RDR_CREATETAB" (v_tab varchar2) is v_cdef varchar2 (256); pragma autonomous_transaction; begin EXECUTE IMMEDIATE 'CREATE TABLE ' || v_tab || ' ( idequipment varchar2(38) PRIMARY KEY)'; end; CREATE OR REPLACE TRIGGER RANDRIANO."A_I_RDR_MYCLASSES" AFTER INSERT ON RANDRIANO.RDR_MYCLASSES FOR EACH ROW Declare v_Name varchar2 (256); v_Type int; v_TableName varchar2 (512); v_DEFTableName varchar2 (512); v_ColumnName varchar2 (512); v_ColumnType varchar2 (512); v_ColumnTypeChar varchar2 (512); v_ColumnPrecision int; v_ColumnHasPrecision number(1); v_IsNullable varchar2(25); v_Default varchar2 (256); v_ColumnDEFAULT varchar2 (4000); v_fk_name varchar2(30); v_namefk varchar2(23); v_fk_name1 varchar2(30); v_namefk1 varchar2(14); v_cdef varchar2(256); BEGIN PKG_UPDATEAVAINS.v_compt := PKG_UPDATEAVAINS.v_compt+1; --dbms_output.put_line('ici'); select :new.name CLE into v_name from dual RDR_MYCLASSES; select :new.type CLE into v_type from dual RDR_MYCLASSES; v_TableName := 'RDR_ATT_Equi_'||v_Name; -- begin if IF (v_Type = 1) then v_DEFTableName := 'EQUIPMENT'; end if; IF (v_Type = 2) then v_DEFTableName := 'TYPE'; end if ; IF (v_Type = 4)then v_DEFTableName := 'RDR_VARS'; end if; IF (v_Type = 8)then v_DEFTableName := 'PLUGMAP'; end if ; IF (v_Type = 16) then v_DEFTableName := 'CONNECTION'; end if ; IF (v_Type = 32)then v_DEFTableName:= 'RULE'; end if ; IF (v_Type = 64) then v_DEFTableName := 'ACCESS'; end if ; IF (v_Type = 128) then v_DEFTableName := 'OBJ_DEF'; end if ; IF (v_Type = 256) then v_DEFTableName := 'SIMUL'; end if ; --end if --create table class v_tablename := substr(v_tablename,1,30); rdr_createtab(v_TableName); -- ligne n° 75 de ce trigger
Partager