Postgresql attribuer une requête de sélection de variable dans la fonction
Je suis en utilisant Postgresql 9.3 et écrit une fonction comme ci-dessous:
create or replace function test(building text,floor text) returns void as $$
Declare
id integer;
num integer := 0;
Begin
num=num+100
id :=select to_number(
(select
(select code from buildings where name=building) || floor
|| (select num::text)),'99999999'
);
update table set col1=id;
End;
$$
language plpgsql;
Ce que j'attends, c'est que mon id
variable sera attribué un numéro de valeur example: 12502100
de la select to_number(...)
requête.
Cependant j'ai l'erreur ci-dessous
ERROR: syntax error at or near ":="
LINE 10: source :=(select code from buildings where name='I3')
Comment puis-je affecter le résultat de la requête (avec certaines opérations de chaîne) dans la variable id?
Je suis également échoué avec Select Into id...
méthode.
OriginalL'auteur Xianlin | 2013-10-09
Vous devez vous connecter pour publier un commentaire.
Vous n'avez pas besoin d'utiliser
SELECT
pour l'évaluation de la fonction.autre possibilité (et généralement mieux) à l'aide de la fonction dans la liste d'expressions (suite de la liste des champs)
Utilisation
SELECT
uniquement lorsque vous avez besoin d'une requête de données, pas de fonction ou une variable d'évaluation!désolé, fixe, il a été l'un des parenthèses plus
comment voulez-vous faire avec de multiples variables et une déclaration? c'est à dire que vous voulez remplir var1 et var2 (SELECT champ1, champ2 from bâtiments OÙ name = construction); var1 doit contenir champ1 résultat et var2 devrait avoir champ2 résultat.
Vous devez utiliser l'instruction SELECT INTO pour plusieurs variables
OriginalL'auteur Pavel Stehule