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 Général » postgresql et mysql » 30/01/2010 01:04:45

imenisg
Réponses : 2

Salut
j'ai une fichier de mysql d'extension myd
comment convertir pour que je puisse ouvrir dans postgresql
merci d'avance
imen

#2 Re : Général » CONTRAINTE » 09/01/2010 01:44:55

S'IL VOUS PLAIT VOUS POUVEZ M4EXPLIQUER CAR JE SUIS DEBUTANTE DANS POSTGRESQL
MERCI D'AVANCE

#3 Général » CONTRAINTE » 09/01/2010 00:17:39

imenisg
Réponses : 3

SALUT A TOUT LE MONDE
JE VEUX AJOUTER UNE CONTRAINTE A UNE TABLE
CETTE CONTRAINTE : IL FAUT VERIFIER QUE SI LE MATRICULE EST ENTRE 50 ET 70 ALORS IL FAUT QUE LE PRIX DOIT ETRE INFERIEUR A 500
MAIS JE NE PEUX PAS LE FAIRE
J4ESPERE QUE VOUS POUVEZ M'AIDER
MERCI D'AVANCE
IMEN

#4 Re : Général » fetch » 10/12/2009 16:32:07

j'ai fait cette fonction mais elle retourne

Le résultat de la requête contient 1 ligne(s) non-extraite(s).
Le résultat de la requête contient 1 ligne(s) non-extraite(s).

La requête a été exécutée avec succès en 12 ms, mais ne renvoie aucun résultat.
elle ne retourne pas les lignes des tables
merci d'avance

#5 Re : Général » fetch » 08/12/2009 17:18:19

bonjour

jai pas compris est ce que tu peut m'expliquer un peu
cette fonction j'ai trouver dans les documents du postgresql
merci d'avance

#6 Re : Général » fetch » 08/12/2009 15:20:15

bonjour a tous
j ai essayer cette fonction .elle ecrit juste mais je ne sais pas pourquoi  elle ne marche pas
si quel qu'un peut m'aider
merci d'avance

#7 Général » fetch » 07/12/2009 21:40:22

imenisg
Réponses : 6

je veux que ma fonction retourne plusieurs lignes
CREATE OR REPLACE FUNCTION reffunc2()
  RETURNS refcursor AS
$BODY$
DECLARE
    ref refcursor;
BEGIN
    OPEN ref FOR SELECT * FROM deplacee;
    RETURN ref;
END;
$BODY$
  LANGUAGE 'plpgsql' VOLATILE
  COST 100;
ALTER FUNCTION reffunc2() OWNER TO postgres;
puis
SELECT reffunc2();
el elle retourne
      reffunc2     
--------------------
<unnamed portal 5>
(1 row)


FETCH ALL IN "<unnamed portal 5>"

RESULTAT
ERROR:  cursor "<unnamed portal 5>" does not exist

merci d'avance

#8 Général » parametre de sortie » 07/12/2009 01:15:52

imenisg
Réponses : 1

salut

j'ai ecrit cette fonction qui retourne le matricule de vehicule qui passe par une point apres une date
mais cette fonction retourne une seul matricule comment je peut faire pour que cette fonction retourne tous les vehicules qui satisfaient cette condition
comment utiliser return next
j'ai comme parametre le nom de tableau , le point et date
CREATE OR REPLACE FUNCTION cccc(character varying, text, timestamp without time zone)
  RETURNS integer AS
$BODY$DECLARE
req text;
ste RECORD;
 
table_name alias for $1;
ff alias for $2 ;
k alias for $3 ;
BEGIN


  req := $req$ SELECT * FROM $req$||table_name ||$req$ where Distance(posit,'$req$||ff||$req$')=0
    AND hhh > '$req$ || k||$req$'$req$;

 
   EXECUTE req INTO ste ;

   
    RETURN ste.immat  ;
END $BODY$
  LANGUAGE 'plpgsql' VOLATILE
  COST 100;
ALTER FUNCTION cccc(character varying, text, timestamp without time zone) OWNER TO postgres;


merci d'avance a tous

#9 PL/pgSQL » fonction » 06/12/2009 00:54:03

imenisg
Réponses : 1

salut

je veux faire une fonction qui retourne les dix derniers voiture qui passe apar une point
quelle type de données doit cette fontion retourne
est ce qu'une fonction peut retourner plusieurs lignes

merci d'avance

#10 Re : Général » duree » 05/12/2009 15:59:45

merci merci jai pas fait attention

#11 Général » duree » 05/12/2009 13:55:20

imenisg
Réponses : 2

Bonjour
je veux faire une fonction qui calcule la durée  entre deux positions
j’ai écrit cette fonction et j’ai comme paramètre le nom de table el les colonnes et les deux positions   
CREATE OR REPLACE FUNCTION during(character varying, character varying, character varying, integer, text, text)
  RETURNS interval AS
$BODY$DECLARE
req1 text;
req2 text;
st1 time with time zone  ;
st2 time with time zone;
table_name alias for $1;
colonne_name alias for $2;
col_name alias for $3;
imm alias for $4;
f1 alias for $5;
f2 alias for $6;



BEGIN



req1 := $req1$ SELECT hhh FROM $req1$||table_name ||$req1$ where Distance($req1$||colonne_name ||$req1$,'$req1$||f1||$req1$')=0 AND immat = $req1$||imm ;
req2 := $req2$ SELECT $req1$||col_name ||$req1$ FROM $req2$||table_name ||$req2$ where Distance($req1$||colonne_name ||$req1$,'$req2$||f2||$req2$')=0 AND immat = $req2$||imm ;
EXECUTE req1 INTO st1 ;
EXECUTE req2 INTO st2 ;


RETURN (st1-st2);



END
$BODY$
  LANGUAGE 'plpgsql' VOLATILE
  COST 100;
ALTER FUNCTION during(character varying, character varying, character varying, integer, text, text) OWNER TO postgres;
puis
SELECT during(' deplacee ' ,' posit ' , ' hhh ',5,' POINT(191232  243118)' ,' POINT(191232  243115)');

jai comme resultat

ERROR:  parse error - invalid geometry
CONTEXT:  SQL statement " SELECT $req1$||col_name ||$req1$ FROM  deplacee  where Distance($req1$||colonne_name ||$req1$,' POINT(191232  243118)')=0 AND immat = 5"
PL/pgSQL function "during" line 22 at EXECUTE statement

#12 Re : Général » timestamp » 04/12/2009 22:44:20

merci beaucoup pour me répondre

#13 Général » timestamp » 03/12/2009 23:52:52

imenisg
Réponses : 2

salut
je veux faire une comparison entre deux timestamp
j'ai une table avec un colonne timestamp je veux afficher tous les lignes qui ont un timestamp qui est apres une time entré en parametre
DECLARE
req text;
ste RECORD;
 
table_name alias for $1;
ff alias for $2 ;
k alias for $3 ;
BEGIN


  req := $req$ SELECT * FROM $req$||table_name ||$req$ where Distance(posit,'$req$||ff||$req$')=0
    AND hhh = $req$ || k;

 
   EXECUTE req INTO ste ;

   
    RETURN ste.immat ;
puis j'essaye
SELECT cccc(' deplacee ' ,' POINT(191232  243118)' ,' 1999-01-08 04:05:06 ');
resultat
ERROR:  syntax error at or near "04"
LINE 2:     AND hhh = 1999-01-08 04:05:06
                                 ^
s'il vous plait de m'aider
merci d'avance

#14 Re : Général » distance » 03/12/2009 13:13:38

salut
je met les quottes
req := 'SELECT * FROM deplaceee where Distance(posit,"POINT(191232 243118)")=0';
mais elle ne donne pas une résultat
ERROR:  invalid input syntax for type point: "POINT(191232 243118)"

#15 Général » distance » 03/12/2009 00:14:32

imenisg
Réponses : 5

salut
je veux calculer la distance entre deux points l'une est stocker comme colonne est l'autre comme parametre
mais elle ne donne pas une resultat
DECLARE

req text;
ste RECORD;
ff geometry; 

BEGIN

ff = GeometryFromText( 'POINT(191232 243118)',-1);

  req := 'SELECT * FROM deplaceee where Distance(posit,POINT(191232 243118))=0';
--||ff||')=0 ';
 
   EXECUTE req INTO ste ;

   
    RETURN ste.hhh ;

END;
et elle donne
syntax error at or near "243118"
sil vous plait si vous pouvez m'aider
merci d'avance

#16 Re : PL/pgSQL » pl/sql » 21/11/2009 14:24:27

bonjour
merci gleu pour me repondre mais si tu peut me dire comment

#17 Re : PL/pgSQL » pl/sql » 20/11/2009 22:35:01

salut

je veux s'avoir si je peut introduire dans une fonction le nom de la table comme paramètre
puis faire des operations sur cette table

#18 PL/pgSQL » pl/sql » 20/11/2009 16:21:58

imenisg
Réponses : 5

salut ,
je definie cette fonction je donne le nom de tableau comme paramétre :

CREATE OR REPLACE FUNCTION nomm(character varying, integer)
  RETURNS character varying AS
$BODY$
DECLARE
rec  RECORD ;
col text;
table_name alias for $1 ;
BEGIN
col = 'id';
  EXECUTE'SELECT rec FROM f_table_name = ' ||
    quote_literal(table_name) 'WHERE f_table_column = '|| quote_literal(col) and  table_name.col= $2;

    
     RETURN rec.road_name;
END;
$BODY$
  LANGUAGE 'plpgsql' VOLATILE
  COST 100;

et j ai la  resultat suivante :
ERROR:  type "quote_literal" does not exist
merci d'avance
imen

Pied de page des forums

Propulsé par FluxBB