sql >> Databáze >  >> RDS >> PostgreSQL

Návrat v pg-promise

Tento kód má dva problémy současně:

  • neplatné použití slibu, když je uvnitř .catch return result , takto se odmítnutí příslibu neřeší, musíte buď zajistit zpracování chyb, nebo chybu znovu hodit/znovu odmítnout.
  • neplatné použití pg-promise knihovna. Používáte metodu jedna to má odmítnout, když se vrátí něco jiného než 1 záznam, podle dokumentaci metody , a zároveň říkáte I need to catch if it returns more than one row... , což je logický rozpor.

Výsledek je následující:váš dotaz se provede úspěšně a vrátí více než jeden záznam, což zase způsobí, že metoda jeden odmítnout a poté vezmete důvod odmítnutí a změníte jej na vyřešený provedením return result . Celkově je váš kód rozbitý všude.

Nejprve pomocí pg-promise měli byste použít správnou metodu podle počtu záznamů, které očekáváte zpět, viz Základy .

A pak zpracujte .then/.catch podle vaší obchodní logiky. Nemohu zde být konkrétnější, protože jste k tomu neuvedli další podrobnosti.




  1. Jak získat seznam všech procedur v balíčku oracle

  2. Chcete-li mít Vim-like K na obrazovce pro MySQL

  3. Chyby, úskalí a doporučené postupy T-SQL – pivotování a unpivoting

  4. Jak vybrat všechny sloupce v SQL kromě jednoho sloupce?