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

mutuje, spoušť/funkce to nemusí vidět – chyba při provádění spouštění

Výjimka "tabulka mutuje" je vyvolána, když se spouštěč, který je definován jako FOR EACH ROW, pokusí o přístup k tabulce, pro kterou byl aktivován. Tom Kyte napsal skvělého průvodce příčinami a řešením této výjimky zde .

Ve vašem zveřejněném příkladu nemáte PRO KAŽDÝ ŘÁDEK, a tak bych neočekával, že bude vznesena výjimka. Obvykle stačí použít spouštěče FOR EACH ROW v případech, kdy je nutné získat přístup k hodnotám :OLD nebo :NEW každého řádku, což nejste.



  1. T-SQL:Výběr sloupce na základě MAX (jiný sloupec)

  2. Můžeme použít PHP funkci strtotime v Mysql Query

  3. Neočekávaný výsledek mapování více sad v Oracle SQL

  4. Přidejte číslo řádku do sady výsledků dotazu SQL