Przypisanie wszystkich czterech zmiennych w jednym zapytaniu powinno być szybsze (tylko jedna tabela lub skanowanie indeksu):
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;
Ten sam wynik.
Normalnie musiałbyś sprawdzić id_doc
dla NULL
dodatkowo, ale ponieważ masz WHERE
warunek z =
na nim nie może być NULL
.