> A question about: ERROR: malformed record literal: "" > DETAIL: Missing left parenthesis. > > Can someone tell me what cause the error? > > ======================== > Table z_drop; > Column | Type > -------------+------------------------ > run_date | character varying(128) > adm_year | character varying(4) > adm_sess | character varying(1) > faculty | character varying(128) > ac_cycle | character varying(128) > deg_code | character varying(128) > discipline | character varying(128) > thesis | character varying(128) > elig_stype | character varying(128) > stud_source | character varying(128) > applied | numeric > reviewed | numeric > accepted | numeric > confirmed | numeric > registered | numeric > hold | numeric > forward | numeric > refused | numeric > cancelled | numeric > other | numeric > pending | numeric > > > PREPARE test(z_drop) AS INSERT INTO z_drop VALUES ($1, $2, $3, > $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16, $17, > $18, $19, $20, $21) ; > > > > EXECUTE test('', '1', '1', '1', '1', '1', '1', '1', '1', '', 1, 1, > '1', '0', '0', '0', '0', '0', '0', '0', '0') ; Your EXECUTES expects one argument of type "z_drop", so it goes ahead and tries to convert '' (the first argument) into something of type "z_drop". This is a row type, so its string representation would have to start with "(". It doesn't, hence the error message. A correct (simplified) example would be: CREATE TABLE z_drop (id integer PRIMARY KEY, val text); PREPARE x(z_drop) AS INSERT INTO z_drop VALUES ($1.id, $1.val); (there is only one argument of type z_drop) EXECUTE x(ROW(1, 'mama')); (with an explicit row constructor) or EXECUTE x((2, 'papa')); Yours, Laurenz Albe -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general