Postgresql
INSERT 語句 COPY 等效項
我想改變這個:
INSERT INTO users (username) VALUES ('JohnDoe');
複製到等價物:
COPY users (username) FROM ('JohnDoe');
複製語句的正確語法是什麼?
要點
COPY
是從查詢外部接收數據。與您所要求的最接近的語法是COPY users(username) FROM STDIN;
如果在互動模式下從 psql 解釋器中完成,它會顯示此邀請:
輸入要複製的數據,後跟換行符。以反斜杠和單獨一行的句點或 EOF 信號結束。
如果從非互動式程序完成,則可以使用專用函式來發送數據。它們由程序使用的 PostgreSQL 驅動程序提供。
我找到了一個帶有
PROGRAM
選項的有效語句:COPY users (username) FROM PROGRAM 'echo JohnDoe' DELIMITER ',';
有了這個,我可以在不讀取文件或使用 pgsql 的情況下動態設置值。
對於超過 1 行,可以加入多個 echo 命令
echo JohDoe & echo JaneDoe