PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Postgresql attribue une requête select à une variable dans la fonction

Vous n'avez pas besoin d'utiliser SELECT pour l'évaluation de la fonction.

id := to_number((SELECT code FROM buildings WHERE name = building) 
                                                      || floor || num::text,
                '999999999');

une autre possibilité (et généralement meilleure) consiste à utiliser la fonction dans la liste d'expressions (liste de champs de résultat)

id := (SELECT to_number(code || floor || num::text, '99999999') 
          FROM buildings WHERE name = building)

Utilisez SELECT uniquement lorsque vous avez besoin d'une requête sur des données, pas pour une évaluation de fonction ou de variable !