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 :

Problème avec fonctions et triggers


Sujet :

PostgreSQL

  1. #1
    Membre du Club
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2013
    Messages : 5
    Par défaut Problème avec fonctions et triggers
    Bonjour, j'ai commencé avec Firebird et Zeos mais pour des Pb de sauvegardes je voudrais passer sur Postgre (fichiers WAL en plus).
    mais j'ai des Pb avec des fonctions et trigger. Je suis sous Delphi 7.
    Pour créer un nouveau client j’appelle la fonction et si tout est OK avec le trigger j’incrémente le compteur ce qui permet de ne pas perdre de numero si il y a des erreurs à l'insert.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    ALTER PROCEDURE INSERT_CLI (  TEST2 Char(20) )
    RETURNS (    TEST Integer ) AS
    /*declare TEST integer;*/
    BEGIN
    TEST=GEN_ID("NUMCLIENT",0);
    insert into CLIENTS (noclient,CLIENT) values(:TEST,:TEST2) ;
     
    suspend;
      END^
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    ALTER TRIGGER TRIGCLIENT ACTIVE
    AFTER INSERT POSITION 0
    AS 
    declare test int;
    BEGIN 
        test=gen_id(NUMCLIENT,1);
    END^
    SET TERM ; ^

  2. #2
    Membre du Club
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2013
    Messages : 5
    Par défaut
    Bonjour, après de nombreux essais j'ai trouvé.
    la fonction appelée depuis delphi 7
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    -- Function: insert_cli(character)
     
    -- DROP FUNCTION insert_cli(character);
     
    CREATE OR REPLACE FUNCTION insert_cli(test2 character)
      RETURNS integer AS
    $BODY$;
     
    INSERT INTO clients (noclient,client) VALUES((SELECT last_value FROM numclient),$1) ;
     
    select cast( (SELECT last_value FROM numclient) as integer);
     
    $BODY$
      LANGUAGE sql VOLATILE
    et la fonction trigger avec un trigger after update.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    -- Function: tyty()
     
    -- DROP FUNCTION tyty();
     
    CREATE OR REPLACE FUNCTION tyty()
      RETURNS trigger AS
    $BODY$begin
    PERFORM NEXTVAL('numclient');
    RETURN NULL;
    end;$BODY$
      LANGUAGE plpgsql VOLATILE

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

Discussions similaires

  1. Problème avec fonctions et string/char
    Par vdumont dans le forum C++
    Réponses: 6
    Dernier message: 08/04/2006, 16h54
  2. Problème avec fonction
    Par Goundy dans le forum C
    Réponses: 24
    Dernier message: 01/10/2005, 20h17
  3. [MFC][WINSOCK] Problème avec fonction recv
    Par Le Farfadet dans le forum MFC
    Réponses: 4
    Dernier message: 23/09/2005, 11h00
  4. Problème avec fonction d'envoie de mail
    Par zyg dans le forum Réseau/Web
    Réponses: 1
    Dernier message: 23/02/2005, 08h48
  5. [Requête] Problème avec fonction "DATE_FORMAT()"
    Par sekiryou dans le forum Requêtes
    Réponses: 4
    Dernier message: 11/01/2005, 21h52

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