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

Dotaz Oracle Insert v uložené proceduře nefunguje při volání zezadu

Vaše uložená procedura ani váš kód neobsahují COMMIT operace, takže se vaše vložení jen vrátí zpět (zkrácení tabulky nelze vrátit zpět, takže jeho účinek stejně vidíte). Vypadá to, že váš editor SQL má zapnutou možnost automatického potvrzení, ale parametry připojení vašeho programu ne. Máte tedy několik možností:

  1. Přidejte explicitní COMMIT k vaší uložené proceduře
  2. Zavolejte objConn.commit() po provedení vašeho dotazu.
  3. Nastavte autocommit možnost vašeho připojení (podrobnosti naleznete zde ).



  1. Pokročilá nápověda k návrhu dotazu SQL (Duplikáty ve dvou tabulkách, více polích, možná vyloučení na základě jednoho pole)

  2. jak může ovlivnit výkon, když používám UUID jako své primární klíče v MySQL

  3. Oracle vybrat vzájemný dílčí řetězec

  4. Vložit seznam do mé databáze pomocí Pythonu