2015-07-10 56 views
0

有什麼辦法來插入多個值與DB不可更改的一個? 我想和但沒有成功:多插入與不可更改的參數

WITH t as (SELECT date_trunc('hour', NOW())) 
INSERT INTO my_table(ID, TIME) VALUES (1,t),(2,t); 
+1

嘗試'以T爲(SELECT date_trunc( '小時',NOW())hour_t)INSERT INTO MY_TABLE(ID,TIME)VALUES(1,t.hour_t) ,(2,t.hour_t);' –

+1

@ Politank-Z:n o,不起作用。你不能像'values'子句中那樣引用一個表。 –

回答

3

無需熱膨脹係數,只需使用普通的選擇作爲源插入:

insert into my_table (id, time) 
select i, date_trunc('hour', NOW()) 
from generate_series(1,2) i; 

如果你真的想要的CTE,你需要從它的值子句中選擇:

WITH t as (
    SELECT date_trunc('hour', NOW()) hour_t 
) 
INSERT INTO my_table(ID, TIME) 
VALUES 
(1, (select hour_t from t)), 
(2, (select hour_t from t));