Bonjour,

j'ai une de donnée Oracle8i dont je n'ai jamais du toucher depuis sept ans!!!

Mais parfois il donne des résultats bizarres.

Exemple:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
SELECT CODE_COMMERCIAL
FROM FACTURE_AVOIR
WHERE CODE_FACTURE_AVOIR=64413;
Oracle donne 13.

Si je fais:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
DELETE FROM commercial WHERE code_commercial=13;
cela donne une erreur d'intégrité.

Bon maintenant, si je fais:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
SELECT CODE_COMMERCIAL
FROM FACTURE_AVOIR
WHERE CODE_FACTURE_AVOIR=69144;
Oracle renvoie 3.

Eh bien ce code commercial n'existe plus dans la table COMMERCIAL.
Comment est-ce-possible?

Et si je fais:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
INSERT INTO COMMERCIAL (CODE_COMMERCIAL,...) VALUES (3,...)
Cela marche.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
DELETE FROM commercial WHERE code_commercial=3;
Et la suppression marche aussi alors qu'il est lié à des factures existantes.

Est-ce-quelqu'un peut me donner une explication sur ce phénomène?

Merci d'avance

THOMAS Patrice