PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

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

#1 PSQL » HELP function » 09/01/2015 12:22:25

elite51
Réponses : 1

Bonjour

J'ai un problème avec une fonction , j'ai 2 table    table1(champ1,champ2)   et table2(champA , champB)   
La table 1 et vide
dans la table 2 champA 4 colonne 1.2.3.4      dans le champB     A,B,C,D

Il n y a que le champ1 de la table 1 qui doit être saisie

Ce que j essaie de faire c'est : quant je saisie une valeur dans champ1   la valeur de champB s'enregistre automatiquement de champ2    uniquement si la valeur saisie corespond a une valeur champA

Exemple  - si je saisie dans le champ1 la valeur 3 alors le champ2 prendra la valeur C
              - si je saisie dans le champ1 la valeur 1 alors le champ2 prendra la valeur A
              - si je saisie dans le champ1 la valeur 230 alors dans le champ2 rien ne se passe

Voila ce que j ai fait mais je bloque ..... et vu que je débute je ne sait plus quoi faire HELP !!! ^^....

Je me suis dit fait une fonction et ensuite un triggers

CREATE OR REPLACE FUNCTION table12()
  RETURNS trigger AS
$BODY$
begin
NEW.champ1 = &champ1;
NEW.champ2 = 'select table2.champ2
FROM
  public.table1,
  public.table2
WHERE
  table2.champ1 = table1.champ1
AND table1.champ1 = NEW.champ1
  '
  ;

IF NEW.champ1 = table2.champ1
FROM table1 , table2
THEN execute 'insert into table1.champ2 = NEW.champ2';
end if;
    RETURN NEW;
END
$BODY$
  LANGUAGE plpgsql VOLATILE






CREATE TRIGGER after_insert_ch12
  AFTER INSERT
  ON table1
  FOR EACH ROW
  EXECUTE PROCEDURE table12();

Pied de page des forums

Propulsé par FluxBB