PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Мога ли да използвам върната стойност на INSERT...RETURNING в друг INSERT?

Можете да направите това, като започнете с Postgres 9.1:

with rows as (
INSERT INTO Table1 (name) VALUES ('a_title') RETURNING id
)
INSERT INTO Table2 (val)
SELECT id
FROM rows

Междувременно, ако се интересувате само от идентификатора, можете да го направите със задействане:

create function t1_ins_into_t2()
  returns trigger
as $$
begin
  insert into table2 (val) values (new.id);
  return new;
end;
$$ language plpgsql;

create trigger t1_ins_into_t2
  after insert on table1
for each row
execute procedure t1_ins_into_t2();


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. HikariCP - връзката не е налична

  2. Използване на клауза EXCEPT в PostgreSQL

  3. 3 начина за изброяване на всички съхранени процедури в PostgreSQL база данни

  4. Как да видите кода CREATE VIEW за изглед в PostgreSQL?

  5. Как да направите заявка без значение за главни букви в Postgresql?