Hello Richard, Richard Huxton a écrit : >> I saw somwhere it could be the order of the fields ? > > Not if you are doing "SELECT * FROM". > > Create an empty test database and a short script to create the table and > function, insert a couple of rows then call the function. If you wrap > the whole thing in BEGIN ... ROLLBACK we can change things until we see > the problem. > > The other thing you could try is printing out row before returning it: > RAISE NOTICE 'row = %', row; > RETURN NEXT ROW; > It might be you've not got what you were expecting.
Thanks a lot, good idea... But it looks good : > SELECT * FROM rma.test ('19G256259'); > NOTICE: row = (12066602,19G256259,170224,PN6405B,2009-09-22,"FORERUNNER 405 > NOIR",2009-09-22,15090,14748) > ERREUR: wrong record type supplied in RETURN NEXT > CONTEXTE : PL/pgSQL function "test" line 12 at return next > > \d rma.serial_number > Table « rma.serial_number » > Colonne | Type | Modificateurs > -------------+-----------------------+------------------------------------------------------------------- > sn_id | bigint | not null default > nextval('rma.serial_number_sn_id_seq'::regclass) > sn | character varying(30) | > no_client | integer | > no_art_bw | character varying(11) | > sn_fc_date | date | > desc_fr | character varying(40) | > sn_cm_date | date | > no_facture | integer | > no_commande | integer | Denis -- Sent via pgsql-sql mailing list (pgsql-sql@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-sql