Có nhiều cách khác nhau để làm điều này.
Cách dễ nhất là sử dụng lastval()
hàm sẽ trả về giá trị được tạo bởi chuỗi "giá trị" cuối cùng.
START TRANSACTION;
INSERT INTO entity ...;
INSERT INTO t2 (eid, ...) VALUES (lastval(), ...), (...), (...);
COMMIT;
Nếu bạn biết tên của chuỗi cho entity
bảng, bạn cũng có thể sử dụng currval
hàm:
START TRANSACTION;
INSERT INTO entity ...;
INSERT INTO t2 (eid, ...) VALUES (currval('entity_eid_seq'), ...), (...), (...);
COMMIT;
Điều này có thể được viết theo cách tổng quát hơn bằng cách sử dụng pg_get_serial_sequence()
hàm, tránh để mã hóa tên chuỗi:
START TRANSACTION;
INSERT INTO entity ...;
INSERT INTO t2 (eid, ...) VALUES (currval(pg_get_serial_sequence('entity', 'eid')), ...), (...);
COMMIT;
Để biết thêm chi tiết, vui lòng xem hướng dẫn: http://www.postgresql.org/docs/civerse/static/fifts- resultence.html