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

Při hromadném vkládání záznamu nebyla nalezena žádná data nebo došlo k chybě výjimky pro příliš mnoho řádků

ORA-01403 (Nenalezena žádná data) se stane, když váš dotaz nevrátí nic a pokusíte se to předat proměnné přes INTO .

ORA-01422 (Příliš mnoho řádků) nastane, když váš dotaz vrátí více než 1 řádek, který se snažíte vměstnat do INTO .

Zpracováváte no_data_found od prvního SELECT dotaz, ale nezpracováváte too_many_rows z prvního dotazu. Pokud váš první SELECT dotaz vyvolá no_data_found výjimka, bude zpracována z EXCEPTION , jinak pokud vyvolá too_many_rows výjimkou, než selže jako váš druhý obrázek.

Kde je tedy no_data_found děje se výjimka? Pravděpodobně od vás druhý SELECT dotaz.

Měli byste zacyklit první SELECT dotaz, abyste se vyhnuli no_data_found nebo too_many_rows a ujistěte se, že váš druhý SELECT dotaz vrací vždy 1 řádek.



  1. Oracle After Delete Trigger... Jak se vyhnout Mutující tabulce (ORA-04091)?

  2. protokolové pakety mimo provoz

  3. Jak uložit relaci jedna k mnoha v databázi MySQL?

  4. Jak přidat průběžný počet do řádků v „sérii“ po sobě jdoucích dnů