Nee, dat kan niet. :new
en :old
zijn pseudo-records, geen echte records die u aan een lokale variabele kunt toewijzen. Als uw tabellen waren gebaseerd op objecttypen, :new
en :old
zouden dan feitelijke instanties zijn van het specifieke objecttype die kunnen worden doorgegeven zoals elk ander object. Maar het is vrij onwaarschijnlijk dat het de moeite waard is om uw tabellen in termen van objecten te definiëren, alleen maar om uw triggers gemakkelijker te schrijven te maken.
Je zou natuurlijk een PL/SQL-pakket kunnen schrijven dat automatisch de gewenste triggercode genereert door dingen te doen als het datadictionary te doorzoeken (d.w.z. all_tab_columns
om de lijst met kolommen in een tabel te krijgen) en met dynamische SQL. Afhankelijk van het aantal triggers dat u verwacht te moeten schrijven, kan dit gemakkelijker zijn dan het schrijven en onderhouden van een heleboel vergelijkbare code.