sql >> Databáze >  >> RDS >> Oracle

Chybová zpráva špatná vazba proměnné ve spouštěči

Spouštěč je definován v ACCOUNT stůl. Zveřejnili jste definici CUSTOMER stůl. Pokud není ACCOUNT tabulka má sloupce CustName a DOB , což se zdá velmi nepravděpodobné, nemůžete odkazovat na :new.CustName nebo :new.DOB -- :new záznam je pro řádek, který se právě vkládá do ACCOUNT stůl.

Kde chcete získat CustName a DOB vložit do Customer stůl?

Když uděláme krok zpět, proč je na Account spouštěč tabulka se pokouší vložit řádek do Customer stůl na prvním místě. To vypadá jako výjimečně špatný design. CustID v Account tabulka by pravděpodobně byla cizí klíč, který odkazuje na Customer stůl. To by však znamenalo, že byste mohli vložit nadřazený řádek do spouštěče pouze tehdy, pokud deklarujete omezení jako odložitelná a odložíte je na začátku každé transakce. Spouštěč by také obecně neměl žádný způsob, jak určit informace pro Customer sloupce, které chcete naplnit, což je zdrojem chyby, která se vám zobrazuje.




  1. SQL dotaz pro vrácení řádku, i když nebyl nalezen, s alespoň v parametrech

  2. Získání cesty MySQL v příkazovém řádku

  3. Laravel 5 PDOException nemůže najít ovladač

  4. Včetně tabulek a schémat při výpisu sloupců identity v databázi SQL Server