IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PostgreSQL Discussion :

types opaques


Sujet :

PostgreSQL

  1. #1
    Membre habitué Avatar de champijulie
    Inscrit en
    Mai 2005
    Messages
    147
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 147
    Points : 131
    Points
    131
    Par défaut types opaques
    Bonjour,

    lors d'une migration de base Oracle Vers une base PostgreSQL grâce à ora2pg, je me suis rendu compte d'une chose bizarre et je ne sais pas comment va réagir PostgreSQL lors d'exécution.
    Sous Oracle, on définit un trigger en le déclarant avec le code de la fonction.
    Par exemple, cela donne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    TRIGGER nom_trigger
    AFTER INSERT or UPDATE
    OF DATEAFFICHAGE ON nom_table
    For each row
    Declare
    * déclaration des variables *
    Begin
    * Code de la fonction *
    End;
    Sous PostgreSQL, on procède comme suit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    CREATE FUNCTION nom_fonction RETURNS OPAQUE AS $$
    Declare
    * Déclaration des variables *
    Begin
    * Code de la fonction
    End;
    $$ LANGUAGE plpgsql;
    CREATE TRIGGER nom_trigger
    	AFTER INSERT OR UPDATE ON nom_table FOR EACH ROW
    	EXECUTE PROCEDURE nom_fonction;
    Et c'est ici que se produit la bizarrerie: on se retrouve avec une sortie de fonction de type opaque. J'ai regardé sous Oracle, car ce type n'existait que la, et j'ai trouvé que c'était un type "interchangeable" (c'est à dire qu'il peut prendre n'importe quelle valeur de type). Alors voilà ma question:
    1) Et-ce qu'il existe la même chose sous PostgreSQL?
    2) Que renvoie une fonction de ce type pour que je change ce type opaque que PostgreSQL ne reconnait pas?

    Voila.
    Merci de me répondre.
    champijulie

  2. #2
    Membre habitué
    Inscrit en
    Mai 2002
    Messages
    131
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 131
    Points : 150
    Points
    150
    Par défaut
    Une fonction rattachée à un trigger renvoie un "trigger", tout simplement

    http://www.postgresql.org/docs/8.0/static/triggers.html

  3. #3
    Membre habitué Avatar de champijulie
    Inscrit en
    Mai 2005
    Messages
    147
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 147
    Points : 131
    Points
    131
    Par défaut
    Merci de m'avoir répondu car je n'était pas sure que la correpondance se fasse comme cela.

    @ la prochaine
    champijulie

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 03/11/2010, 17h30
  2. Définition de type opaque
    Par _Michel dans le forum C
    Réponses: 27
    Dernier message: 11/06/2008, 23h10
  3. Type opaque en C
    Par Novocaine dans le forum C
    Réponses: 14
    Dernier message: 03/06/2007, 21h37
  4. Type opaque
    Par Gogoye dans le forum C
    Réponses: 4
    Dernier message: 05/11/2003, 13h46
  5. utilisation du meta type ANY
    Par Anonymous dans le forum CORBA
    Réponses: 1
    Dernier message: 15/04/2002, 12h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo