PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

क्या मैं किसी अन्य INSERT में INSERT...RETURNING के रिटर्न वैल्यू का उपयोग कर सकता हूं?

आप पोस्टग्रेज 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. PostgreSQL में क्रॉस टेबल की कमी

  2. वेबिनार:पोस्टग्रेज 12 में नई सुविधाएँ [अनुसरण करें]

  3. Postgres सबसे अच्छा डेटाबेस है - कारण # 2:लाइसेंस

  4. दो अलग-अलग डेटाबेस से परिणाम जोड़ना

  5. Postgresql ट्रंकेशन स्पीड