sql >> Databasteknik >  >> RDS >> Oracle

INSERT utlösare för att infoga post i samma tabell

Mutation sker varje gång du har en utlösare på radnivå som ändrar tabellen som du utlöser på. Problemet är att Oracle inte kan veta hur man beter sig. Om du infogar en rad, själva utlösaren infogar en rad i samma tabell, och Oracle blir förvirrad, för dessa infogar i tabellen på grund av triggern, är de också föremål för triggeråtgärden?

Lösningen är en process i tre steg.

1.) Utdragsnivå före trigger som instansierar ett paket som kommer att hålla reda på raderna som infogas.

2.) Radnivå före eller efter trigger som sparar den radinformationen i paketvariablerna som instansierades i föregående steg.

3.) Utlåtandenivå efter trigger som infogar i tabellen, alla rader som är sparade i paketvariabeln.

Ett exempel på detta finns här:

http://asktom.oracle.com/pls/asktom/ASKTOM .download_file?p_file=6551198119097816936

Hoppas det hjälper.



  1. Ta bort en databaspostprofil i SQL Server (T-SQL)

  2. MySQL automatisk ökning?

  3. Hur RIGHT()-funktionen fungerar i SQL Server (T-SQL)

  4. PHP PDO Användarnamn Tillgänglighetskontroll