Не, не можеш. :new
и :old
са псевдозаписи, а не действителни записи, които можете да присвоите на локална променлива. Ако вашите таблици са базирани на типове обекти, :new
и :old
тогава ще бъдат действителни екземпляри на конкретния тип обект, които могат да бъдат предавани като всеки друг обект. Но е малко вероятно да си струва да дефинирате таблиците си по отношение на обекти, само за да улесните записването на тригерите.
Можете, разбира се, да напишете PL/SQL пакет, който автоматично генерира желания код за задействане, като правите неща като заявка към речника на данните (т.е. all_tab_columns
за да получите списъка с колони в таблица) и с помощта на динамичен SQL. В зависимост от броя на тригерите, които очаквате да напишете, това може да е по-лесно от писането и поддържането на много подобен код.