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

Tabulka mutuje, spouštěč/funkce to nemusí vidět (zabrání poklesu průměrné známky pod 2,5)

Nejprve si musíte přečíst o triggerech, chybě mutující tabulky a složených triggerech:http://docs.oracle.com/cd/E11882_01/appdev.112/e25519/triggers.htm#LNPLS2005

Váš spouštěč je PO AKTUALIZACI NEBO VLOŽENÍ NEBO VYMAZÁNÍ. Znamená to, že pokud v této tabulce spustíte příkazy UPDATE OR INSERT OR DELETE, spouštěč se spustí. Ale pokoušíte se znovu aktualizovat stejnou tabulku uvnitř spouštěče, což je kompl. špatně. To je důvod, proč se vám zobrazuje chyba. Nemůžete upravit stejnou tabulku, na které se spoušť spouští. Účelem spouštěče je spouštět se automaticky při aktualizaci, vložení nebo odstranění tabulky ve vašem případě. Potřebuješ nějaký postup, ne spoušť.



  1. SQL HAVING doložka pro začátečníky

  2. Jak zobrazit komentáře sloupce s operací desc

  3. Jak zamknout jeden řádek

  4. Transparentní šifrování dat a vždy šifrováno