sequence values question
| От | mmiranda@americatel.com.sv |
|---|---|
| Тема | sequence values question |
| Дата | |
| Msg-id | 76E0DAA32C39D711B6EC0002B364A6FA044EBD95@amsal01exc01.americatel.com.sv обсуждение исходный текст |
| Ответы |
Re: sequence values question
|
| Список | pgsql-general |
Hi, how can i know the values generated by a column of type serial?
I mean, i have the following table
productos
(
id serial,
desc varchar(50)
)
select * from productos;
+-----+------------+
| id | desc |
+-----+------------+
| 1 | ecard1 |
| 2 | ecard2 |
| 3 | ecard3 |
| 4 | ecard4 |
| 5 | ecard5 |
+-----+------------+
I insert a row using a SP, i want to return the id and desc of the new
product in the table.
this is an example of the hypothetical SP
CREATE OR REPLACE FUNCTION insert_row(text) returns text language plpgsql
AS $$
DECLARE
vdesc alias for $1;
BEGIN
INSERT INTO productos (desc) VALUES (vdesc);
RETURN (new id ???) || ',' || vdesc;
END;
$$
LANGUAGE 'plpgsql' VOLATILE;
I know i can get the last value using currval(text), and add 1 to the next
values, is this the only way?, what if i want to insert several products?,
should i return a record ?
thanks
В списке pgsql-general по дате отправления: