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

Složený spouštěč Oracle (11g) neaktualizuje datové pole CLOB

Protože jsem neměl čas se u tohoto problému zdržovat, vyřešil jsem to pomocí proměnné.

Deklarování proměnné CLOB v sekci deklarace a přiřazení hodnoty pole :new.clob_field k ní buď v BEFORE EACH ROW, nebo AFTER EACH ROW a použití proměnné ve vašem příkazu insert/update namísto :new.clob_field v rámci spouštěče řeší tento problém.

Narazil jsem na spoustu příspěvků od lidí, kteří s tím bojují (konkrétně složené spouštěče, ne jednoduché spouštěče), takže doufám, že čas, který jsem tomu věnoval, pomůže někomu dalšímu a ušetří mu čas.

Opravdu by mi pomohlo, kdyby se s tímto příspěvkem setkal někdo, kdo zná důvod, proč :new.clob_field ztrácí svou hodnotu ve složeném spouštěči, když je použit v příkazech insert/update v sekci PŘED/PO každém řádku. Bylo by hrozné jednoho dne zemřít s touto myšlenkou uvízlou v mé mysli...

Budu také předpokládat, že by to fungovalo i pro BLOB (pokud to způsobuje problém).



  1. připojení mysql pdo se neuzavírá?

  2. Počítá se zpětné lomítko \ jako znak v MySQL?

  3. Škálování dočasných záznamů v databázi pro počítání součtů, aby se zastavilo nadměrné přihlašování

  4. PHP datum('W') vs MySQL YEARWEEK(nyní())