簡體   English   中英

為什么不能在多行執行 PSQL 元命令

[英]Why PSQL meta command cannot be execute at mutliline

剛剛發現\COPY命令只能在一行執行,多次嘗試答案的查詢。 這種方式對於編寫長查詢似乎很不友好。 而且不容易找出原因。 我不認為這是一個錯誤,那為什么。

從這里psql並且如果您要復制到文件中:

獲得與 \copy... to 相同結果的另一種方法是使用 SQL COPY... TO STDOUT 命令並用 \g 文件名或 \g |program 終止它。 與 \copy 不同,此方法允許命令跨越多行; 此外,可以使用變量插值和反引號擴展。

為了從文件中復制,借鑒pg_dump的作用:

CREATE TABLE csv_test (col1 integer, col2 integer);

cat csv_test.csv 

COPY 
  csv_test 
FROM 
 stdin WITH CSV;
"19","9"
"19","5"
"19","5"
"19","15"
"19","5"

\i ~/csv_test.csv 
COPY 5

select * from csv_test ;
 col1 | col2 
------+------
   19 |    9
   19 |    5
   19 |    5
   19 |   15
   19 |    5

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM