Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
Pages : 1
#1 07/06/2011 16:49:22
- mortimer.pw
- Membre
RECORD Oracle sous PostgreSQL
Bonjour,
Je travaille en version 8 et 9 sous Red-hat et Cent-OS.
J'ai des Fonctions Oracle à réécrire avec ce genre de déclarations :
TYPE tablevar IS RECORD (
vbl varchar2(2000),
err_code number,
obligatoire number(1),
existence number(1),
type varchar2(50)
);
TYPE tablectrl IS TABLE OF tablevar INDEX BY VARCHAR2(50) ;
Est-il possible de faire cela sous PostgreSQL ?
D'avance merci pour les réponses.
Hors ligne
#2 07/06/2011 17:15:13
- Marc Cousin
- Membre
Re : RECORD Oracle sous PostgreSQL
Dans le PL de PostgreSQL (PLPgSQL), pour le moment, vous n'avez pas de tableau associatif. Vous pouvez utiliser d'autres langages de procédures stockées qui les ont, sous PostgreSQL (Python, Perl, Ruby…). Vous pouvez même appeler les procédures de ces langages en plpgsql.
Vous pouvez peut-être aussi vous en sortir en manipulant des hstores : http://doc.postgresql.fr/9.0/hstore.html . Mais cela risque d'être aussi très inélégant
(ps, modif par gleu pour le lien)
Marc.
Hors ligne
#3 07/06/2011 21:34:12
- bebert73
- Membre
Re : RECORD Oracle sous PostgreSQL
pensez à enlever le point de votre lien (après hstore.html.)...quand on clique sur le lien ça fait 404 not found, il faut enlever le point pour tomber sur la bonne page
Hors ligne
#4 08/06/2011 08:51:32
- Marc Cousin
- Membre
Re : RECORD Oracle sous PostgreSQL
Grmbl
On peut même pas dormir tranquille sans se faire éditer ses posts
Marc.
Hors ligne
#5 08/06/2011 09:52:15
- mortimer.pw
- Membre
Re : RECORD Oracle sous PostgreSQL
Bonjour à tous,
Merci Marc pour la réponse négative.
Je vais chercher des exemples Perl, ou peut être Java ? pour la déclaration des tableaux associatifs, et l'appel sous plpgsql.
Si vous avez un lien, je suis preneur.
Hors ligne
#6 08/06/2011 09:58:59
- Marc Cousin
- Membre
Re : RECORD Oracle sous PostgreSQL
Pour des exemples en Perl, il y a surtout la doc. http://docs.postgresql.fr/9.0/plperl.html. Une fonction en perl s'appelle comme une autre fonction, il n'y a aucune différence syntaxique de l'extérieur.
PLJava n'est pas en standard dans le moteur. C'est plus compliqué à installer.
Après, si ce que vous souhaitez vraiment, c'est d'associer une structure à une valeur, vous avez toujours la solution de créer une table (temporaire au besoin) pour ça…
Marc.
Hors ligne
Pages : 1