Vous n'êtes pas identifié(e).

#1 Re : Migration » migration oracle erreur expression de la fonction du FROM » 01/04/2011 14:52:44

ok merci  beaucoup . je n'avais pas trouvé la syntaxe dans la doc

#2 Re : Migration » migration oracle erreur expression de la fonction du FROM » 01/04/2011 14:40:20

si vous voulez quand je fais select * from test('AAA') j'obtiens un resultat sous forme de colonne correspondant à mon return
si je fais select test('AAA') j'obtiens le debut du resultat precedé par une paranthèse

#3 Re : Migration » migration oracle erreur expression de la fonction du FROM » 01/04/2011 14:31:47

oui mais dans ce cas je n'arrive pas à utiliser les colonnes de ma fonction

#4 Re : Migration » migration oracle erreur expression de la fonction du FROM » 01/04/2011 14:15:15

oui c'est une fonction qui renvoie un setof d'un objet
CREATE OR REPLACE FUNCTION b(x character varying)
  RETURNS SETOF c_object AS
$BODY$
BEGIN
    RETURN QUERY SELECT getItem_id::varchar(30), model_id, CAST(item_id AS varchar(30)), item_family_id, manager_id, local_manager_id,
        unit_code_id, decimal_size, internal_cost_qty, bom_qty,
        title_percent, bom_level, model_marketable, technical_index,
        current_index, customs_code, item_state, kit
        FROM model, getitem_id(x) WHERE model_id = getmodel(x);
END;
$BODY$
  LANGUAGE plpgsql VOLATILE
  COST 100
  ROWS 1000;

#5 Migration » migration oracle erreur expression de la fonction du FROM » 01/04/2011 11:41:18

pauline39
Réponses : 9

j'ai le message suivant
ERREUR: l'expression de la fonction du FROM ne peut pas faire référence à d'autres
relations sur le même niveau de la requête
État SQL :42P10
Caractère : 26
est_il possbible de contourner

requete:

select * from a,b(a.col1) where a.col1 like '%XXX%'

en oracle on avait

select * from a,table(b(a.col1)) where a.col1 like '%XXX%'

merci pour vos réponses

Pied de page des forums

Propulsé par FluxBB