There has to be an easy way to do this and I'm just being stupid and
missing it. What I want to do is, in plpgsql, insert a record (of the
right type) into a table without having to list all the columns of the
table. For example, I'd like to do:
CREATE FUNCTION example(id_to_copy INTEGER) RETURNS VOID AS $_$
DECLARE
t_rec RECORD;
BEGIN
FOR t_rec IN
SELECT
*
FROM
table_with_lots_of_columns
WHERE
unique_id = id_to_copy
IN
t_rec.unique_id := new_unique_id();
INSERT INTO table_with_lots_of_columns VALUES t_rec; -- or something
END LOOP;
END
$_$ LANGUAGE plpgsql;
Now, I can do this by listing all the columns from the table, but this
is annoying. Is there a way to do this cleaner?
Thanks,
Brian