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 :

condition d'insertion dans une scd


Sujet :

PostgreSQL

  1. #1
    Membre régulier
    Inscrit en
    Décembre 2004
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 116
    Points : 95
    Points
    95
    Par défaut condition d'insertion dans une scd
    Bonjour,
    voila mon probleme ,
    j'ai une table qui contient un deouble clé primaire.
    id_personne et numero version + une date de modif | d'autres champs de données
    id_pers | num_vers|date|..


    Donc j'essaye dee faire une SCD (slowly changing dimension)
    j'ai une personne avec un id et je veux que pour chaque modif d'un des champs, je puisse faire un insert .

    je veux faire une sorte de
    if insert into table select id , Max(num_vers)+1, '20070205' from table where id=2314
    else insert into table values(2314 ,1, '20070205')
    endif

    problemes : postgres ne' me reconnait pas le if et je cherche mais je trouve beaucoup de de type mysql avec if
    Eu gosto de trabalhar porque trabalhar faz bem,
    mas gosto mais de descanso que nao faz mal a ninguem

  2. #2
    Membre émérite
    Avatar de hpalpha
    Inscrit en
    Mars 2002
    Messages
    769
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 769
    Points : 2 545
    Points
    2 545
    Par défaut
    En fait c'est un trigger que tu recherche si j'ai bien compris.

    Le trigger est une fonction qui se declenche quand il y a un evenement qui se produit (insert,update, delete)
    Delphi 2009 - ZeosLib - DevExpress - TMS - PgDAC
    PostgreSQL 8.4 sous Debian
    Sites : http://postgresql.developpez.com http://dgriessinger.developpez.com

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Août 2007
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 128
    Points : 143
    Points
    143
    Par défaut
    Le IF n'est pas une instruction SQL. Il n'est reconnu que dans des langages de programmation, par exemple en PL/pgsql.

    Ceci dit, je suis d'accord avec hpalpha. Il te faut soit une règle soit un trigger (ma préférence allant au second, plus facile à implanter).

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

Discussions similaires

  1. Annuler une insertion dans une table sur condition
    Par EFCAugure dans le forum DB2
    Réponses: 2
    Dernier message: 03/02/2014, 09h55
  2. [MySQL] insertion dans une BD mySql avec condition
    Par pitichamo dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 29/06/2009, 13h53
  3. condition + insertion dans une table
    Par masterz dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 19/10/2007, 14h30
  4. Détection insertion dans une Table
    Par abelman dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 06/07/2004, 14h24
  5. [LG]Tri par insertion dans une liste chainée
    Par mister_dsg dans le forum Langage
    Réponses: 4
    Dernier message: 18/12/2003, 22h34

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