sql >> Base de Datos >  >> RDS >> Oracle

Mensaje de error variable de vinculación incorrecta en el disparador

El activador se define en la ACCOUNT mesa. Ha publicado la definición del CUSTOMER mesa. A menos que la ACCOUNT la tabla tiene columnas CustName y DOB , lo que parece muy poco probable, no puede hacer referencia a :new.CustName o :new.DOB -- el :new el registro es para la fila que se está insertando actualmente en la ACCOUNT mesa.

¿Dónde pretende obtener el CustName? y DOB para insertar en el Customer mesa?

Dando un paso atrás, ¿por qué hay un activador en la Account? tabla tratando de insertar una fila en el Customer mesa en primer lugar. Eso parece un diseño excepcionalmente pobre. El CustID en la Account presumiblemente, la tabla sería una clave externa que hace referencia al Customer mesa. Eso significaría, sin embargo, que solo podría insertar la fila principal en un disparador si declara las restricciones como diferibles y las difiere al comienzo de cada transacción. El activador generalmente tampoco tendría forma de determinar la información para el Customer columnas que desea completar, que es la fuente del error que está recibiendo.