Du behöver inte använda SELECT
för funktionsutvärdering.
id := to_number((SELECT code FROM buildings WHERE name = building)
|| floor || num::text,
'999999999');
annan möjlighet (och vanligtvis bättre) är att använda funktion i uttryckslista (resultatfältslista)
id := (SELECT to_number(code || floor || num::text, '99999999')
FROM buildings WHERE name = building)
Använd SELECT
endast när du behöver en fråga till data, inte för funktions- eller variabelutvärdering!