यह सामान्य तालिका अभिव्यक्ति को संशोधित करने वाले डेटा का उपयोग करके किया जा सकता है:
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)
);