Postgresql

在 POSTGRESQL 中使用 WITH 子句和 INSERT 語句

  • May 12, 2019

我有一個要求,我需要從另一個表中獲取一列並將該列數據與其他一些數據插入到另一個表中。

例子:

如果 cust_id=‘11’,那麼我需要從 cust 表中獲取 cust_code(假設它返回 cust_code=‘ABCD’),然後使用該 cust_code 和其他一些數據插入到 table_1 中,如下所示:

WITH get_cust_code_for_cust_id AS (
   SELECT cust_code FROM cust WHERE cust_id=11
)

INSERT INTO public.table_1(
   cust_code, issue, status, created_on)
   VALUES (SELECT cust_code FROM get_cust_code_for_cust_id, 'New Issue', 'Open', current_timestamp)

但是這個查詢不起作用,因為我們沒有呼叫 get_cust_code_for_cust_id 查詢。

我的偏好是一些帶有 WITH 子句的查詢,但也將不勝感激任何其他答案。

(未在 Postgres 中測試)這是您需要的嗎?

INSERT INTO public.table_1(cust_code, issue, status, created_on)
SELECT cust_code, 'New Issue', 'Open', current_timestamp 
FROM cust 
WHERE cust_id=11

引用自:https://dba.stackexchange.com/questions/206930