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

Mohu ve spouštěči Oracle přiřadit nové a staré proměnné typu řádku?

Ne, nemůžeš. :new a :old jsou pseudozáznamy, nikoli skutečné záznamy, které můžete přiřadit lokální proměnné. Pokud byly vaše tabulky založeny na typech objektů, :new a :old by pak byly skutečnými instancemi konkrétního typu objektu, které lze předat jako jakýkoli jiný objekt. Ale je dost nepravděpodobné, že by stálo za to definovat tabulky jako objekty jen proto, aby se vaše spouštěče snadněji zapisovaly.

Můžete samozřejmě napsat balíček PL/SQL, který automaticky vygeneruje požadovaný spouštěcí kód tím, že uděláte věci, jako je dotazování datového slovníku (tj. all_tab_columns získat seznam sloupců v tabulce) a pomocí dynamického SQL. V závislosti na počtu spouštěčů, které očekáváte, že budete muset napsat, to může být snazší než psát a udržovat spoustu podobného kódu.



  1. Jak replikovat databázi MySQL na jiný server

  2. Vkládání MySQL z jedné databáze do druhé

  3. Chyba MySql 150 – cizí klíče

  4. SCD typ 4