Oracle
 sql >> Base de données >  >> RDS >> Oracle

Message d'erreur variable de liaison incorrecte dans le déclencheur

Le déclencheur est défini sur le ACCOUNT table. Vous avez posté la définition du CUSTOMER table. Sauf si le ACCOUNT la table a des colonnes CustName et DOB , ce qui semble hautement improbable, vous ne pouvez pas faire référence à :new.CustName ou :new.DOB -- le :new record correspond à la ligne en cours d'insertion dans le ACCOUNT table.

Où avez-vous l'intention d'obtenir le CustName et DOB à insérer dans le Customer tableau ?

En prenant du recul, pourquoi un déclencheur sur le Account table essayant d'insérer une ligne dans le Customer tableau en premier lieu. Cela semble être une conception exceptionnellement médiocre. Le CustID dans le Account table serait vraisemblablement une clé étrangère faisant référence au Customer table. Cela signifierait, cependant, que vous ne pourriez insérer la ligne parente dans un déclencheur que si vous déclarez les contraintes comme reportables et que vous les différez au début de chaque transaction. Le déclencheur n'aurait également généralement aucun moyen de déterminer les informations pour le Customer colonnes que vous souhaitez remplir qui est la source de l'erreur que vous obtenez.