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

PostgreSQL vs Oracle:Kontrola PL/pgSQL během kompilace

Ano, toto je známý problém.

PL/pgSQL (jako každá jiná funkce, kromě SQL ) je „černá skříňka“ pro PostgreSQL, a proto není ve skutečnosti možné detekovat chyby kromě za běhu.

Můžete udělat několik věcí:

  1. zabalte volání funkce SQL dotazy do BEGIN / COMMIT prohlášení, abyste měli lepší kontrolu nad chybami;
  2. přidat EXCEPTION bloky do vašeho kódu, abyste zachytili a sledovali chyby. Pamatujte však, že to ovlivní výkon funkce;
  3. použijte plpgsql_check rozšíření , vyvinutý Pavlem Stěhulem, který je jedním z hlavních přispěvatelů k vývoji PL/pgSQL. Předpokládám, že se toto rozšíření nakonec dostane do jádra PostgreSQL, ale nějakou dobu to potrvá (nyní jsme ve stavu 9.4beta3);
  4. Můžete se také podívat na tuto související otázku:kontrola syntaxe postgresql bez spuštění dotazu

A skutečně to vypadá, že velmi potřebujete rámec pro testování jednotek.



  1. Jak vytvořit vlastní sloupec s automatickým přírůstkem znaků

  2. Změňte název sloupce v MySQL

  3. Jak exportuji strukturu databáze MySQL do souboru aplikace Excel?

  4. Optimalizujte PostgreSQL pro rychlé testování