sql >> Database teknologi >  >> RDS >> PostgreSQL

Fremskynde plpgsql, der tæller doc-typer i en loop?

Det burde være hurtigere at tildele alle fire variabler i én forespørgsel (kun én tabel- eller indeksscanning):

SELECT INTO validador, validador2, validador3, validador4
            sum(CASE id_tipo_cifra WHEN 901 THEN 1 ELSE 0 END)
           ,sum(CASE id_tipo_cifra WHEN 902 THEN 1 ELSE 0 END)
           ,sum(CASE id_tipo_cifra WHEN 905 THEN 1 ELSE 0 END)
           ,sum(CASE id_tipo_cifra WHEN 907 THEN 1 ELSE 0 END)
FROM   webdte.doc_tip_cifra
WHERE  id_doc = id_documento;

Samme resultat.

Normalt skal du tjekke id_doc for NULL derudover, men da du har en WHERE tilstand med = på den, kan den ikke være NULL .




  1. Tabel specificeret to gange i Procedure, hvordan rettes?

  2. Hvordan kan jeg rette MySQL fejl #1064?

  3. Sådan opretter du skrivebeskyttet bruger i PostgreSQL

  4. MySql Tilføj indeks:0 rækker påvirket