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

Vložení rodičovských/podřízených záznamů do transakce

Podřízené vložky by viděly každého rodiče, který byl buď potvrzen, nebo byl dříve vložen stejnou transakcí (ať už potvrzenou nebo ne).

Jedna věc, kterou je třeba ověřit, je, zda vložka rodiče automaticky odvozuje hodnotu primárního klíče (např. prostřednictvím spouštěče).

To znamená, že vystavíte příkaz INSERT do smluv (poradové_číslo_smluvy, ...) hodnoty (10437, ...);

ale spouštěč určí nové číslo smluvní_sekvence ze sekvence a ve skutečnosti jí dá primární klíč 10438 (nebo cokoliv jiného).

Dalším problémem může být jakákoli vrstva ORM, která problém zastírá tím, že nevydává vložky ve správném pořadí nebo používá různá připojení z fondu pro jednu „transakci“.

Zkontrolujte také, že vložení nadřazeného prvku nevrátilo chybu.

Zkuste provést ukázkovou transakci prostřednictvím konvenčního klienta (jako je SQL*Plus) a zjistěte, zda to funguje. Pokud vložení potomka selže, stačí se zeptat na nejnovější záznam ze smlouvy (např. kde contract_sequence_number> 10400) a zjistěte, zda bylo vložení úspěšné.



  1. Selhání serializace:Při pokusu o získání zámku bylo zjištěno uváznutí

  2. Přidání výsledků databáze do pole

  3. Připojení k SQL Server LocalDB pomocí JDBC

  4. Server neodpovídá (nebo není správně nakonfigurován soket místního serveru MySQL) na serveru wamp