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 .