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

2 टेबल पोस्टग्रेस्क्ल में सिंगल क्वेरी में INSERT करें

यह सामान्य तालिका अभिव्यक्ति को संशोधित करने वाले डेटा का उपयोग करके किया जा सकता है:

with new_order as (
  insert into orders (id, date) values (1, current_date)
  returning id
)
insert into completedby (employee_id, order_id)
values 
( 42 -- employee_id, 
  (select id from new_order)
);

पहला भाग orders में डाला जाता है तालिका और डाली गई आईडी देता है। दूसरा भाग तब पंक्ति को completedby . में सम्मिलित करता है ज्ञात कर्मचारी_आईडी का उपयोग करके तालिका और पिछले चरण से ऑर्डर_आईडी प्राप्त करना।

संपादित करें

अगर id orders में कॉलम तालिका एक serial है कॉलम और आप अनुक्रम को वह मान उत्पन्न करने देना चाहते हैं जो आप भी कर सकते हैं:

with new_order as (
  insert into orders (date) values (current_date)
  returning id
)
insert into completedby (employee_id, order_id)
values 
( 42 -- employee_id, 
  (select id from new_order)
);



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. मैक ओएस एक्स पर पोस्टग्रेज को पुनरारंभ नहीं कर सकता

  2. Dense_rank पहले Oracle से Postgresql कन्वर्ट

  3. PostgreSQL LIKE क्लॉज में रेगुलर एक्सप्रेशन

  4. ऑफ़सेट बनाम ROW_NUMBER()

  5. पोस्टग्रेज - मौजूदा तालिका से * चुनें - psql का कहना है कि तालिका मौजूद नहीं है