sql >> Databasteknik >  >> RDS >> Oracle

Tabell muterar, trigger/funktion kanske inte ser den (stoppar ett medelbetyg från att sjunka under 2,5)

Först måste du läsa om triggers, muterande tabellfel och sammansatta triggers:http://docs.oracle.com/cd/E11882_01/appdev.112/e25519/triggers.htm#LNPLS2005

Din trigger är EFTER UPPDATERING ELLER INFOGA ELLER DELETE. Betyder att om du kör UPDATE ELLER INSERT ELLER DELETE-satser på den här tabellen, kommer utlösaren att aktiveras. Men du försöker uppdatera samma tabell igen inuti din trigger, vilket är kompl. fel. Det är därför du får felet. Du kan inte ändra samma tabell som utlösaren aktiveras på. Syftet med triggern är att aktiveras automatiskt när tabellen uppdateras, infogas eller raderas i ditt fall. Vad du behöver är någon procedur, inte trigger.



  1. Oracle REPLACE()-funktionen hanterar inte vagnreturer och radmatningar

  2. SQL Server beroenden

  3. iPhone uttryckssymboler infogas i MySQL men blir tomt värde

  4. Hitta nästa tillgängliga ID i MySQL