Est-ce que la table TREGLT contient bien un champ nommé CD_BUR_PAYEUR ?
Est-ce qu'il ne manque pas des virgules et des point virgules dans le code de création de la table TBUR_PAYEUR ?
De toutes façons, le problème est que la clé étrangère n'est pas une clé primaire.
Voir http://www.techonthenet.com/oracle/errors/ora02270.php
En plus, cela ne respecte pas les règles de normalisation.
N.B. Au lieu de créer des contraintes dans la base, il vaut mieux mettre des contrôles dans les programmes d'insertion ou de mise à jour de données. Cela présente deux avantages :
- Le message d'erreur est affiché au bon endroit par le programme de contrôle, sous la bonne forme, avec une suite logique, au lieu de faire planter le programme.
- On peut charger des données en masse qui, d'une manière temporaire, ne sont pas cohérentes sans que cela ne soit bloquant. Charger des données en masse est souvent utile pour une initialisation de base, pour une récupération d'une sauvegarde, ou pour des tests.