Bonjour à vous tous,

Je suis nouveau avec PostgreSQL. Je dois écrire des codes mais je rencontre un probleme. Pourriez-vous m'aider ?

Pour simplement, J'ai 3 tables:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
CREATE TABLE data1 (
  no_experimentation float ,
  data1 float PRIMARY KEY
  );
 
  CREATE TABLE data2 (
  no_experimentation float ,
  data2 float PRIMARY KEY
  );
 
    CREATE TABLE data3 (
  no_experimentation float ,
  data3 float PRIMARY KEY
  );
Je dois écrire une fonction f(r1 float, r2 float, r3 float) pour trouver tous les no_experimentation qui ont data1<r1, data2<r2, data3<r3.
J'ai ecrit comme suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
       CREATE OR REPLACE FUNCTION kppv(r1 float, r2 float, r3 float) RETURNS void AS
         'BEGIN
                SELECT x.no_experimentation, x.data1, y.data2, z.data3 FROM data1 x, data2 y, data3 z
                WHERE x.no_experimentation=y.no_experimentation AND
                          x.no_experimentation=z.no_experimentation AND
                          x.data1<r1 AND
                          y.data2<r2 AND
                          z.data3<r3
             END;'
  LANGUAGE plpgsql;
Mais ca ne marche pas.

Pourriez-vous corriger ça pour moi ?

De plus, je voudrais bien utiliser le Creat view dans ce code pour que ça marche plus vite. COmment je dois écrire ?

Je suis nouveau avec PostgreSQL.
Je vous remercie,