U hoeft SELECT
niet te gebruiken voor functie-evaluatie.
id := to_number((SELECT code FROM buildings WHERE name = building)
|| floor || num::text,
'999999999');
een andere mogelijkheid (en meestal beter) is het gebruik van een functie in de lijst met uitdrukkingen (lijst met resultatenvelden)
id := (SELECT to_number(code || floor || num::text, '99999999')
FROM buildings WHERE name = building)
Gebruik SELECT
alleen wanneer u een query naar gegevens nodig hebt, niet voor functie- of variabele-evaluatie!