Bonjour,
je voudrais vérifier l´existence de certains champs d' une table avant de lancer sur celle-ci une procédure.
Pour cela voilà mon code:
Seulement malgré la présence des colonnes recherchées, le programme rentre dans le bloc exceptions et me dit que les colonnes sont inexistantes.
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 declare v1 pls_integer := 0; v2 pls_integer := 0; v3 pls_integer := 0; begin select 1, 1, 1 into v1, v2, v3 from user_tab_columns where table_name = 'MA_TABLE' and (column_name = 'COL1' or column_name = 'COL2' or column_name = 'COL3') having count(*) = 1; if v1 <> 0 then dbms_output.put_line ('créez la col1 avant de continuer'); elsif v2 <> 0 then dbms_output.put_line ('créez la col2 avant de continuer'); elsif v3 <> 0 then dbms_output.put_line ('créez la col3 avant de continuer'); end if; exeption when no_data_found then dbms_output.put_line ('Il vous manquent des colonnes importantes'); when too_many_rows then dbms_output.put_line ('beaucoup trop de valeurs retournées'); end;
Quelqu´un pourrait - il m´éclairer svp?
merci
Partager