SELECT
を使用する必要はありません 機能評価用。
id := to_number((SELECT code FROM buildings WHERE name = building)
|| floor || num::text,
'999999999');
他の可能性(そして通常はより良い)は、式リスト(結果フィールドリスト)で関数を使用することです
id := (SELECT to_number(code || floor || num::text, '99999999')
FROM buildings WHERE name = building)
SELECT
を使用します 関数や変数の評価ではなく、データへのクエリが必要な場合のみ!