2013-10-18 120 views
0

我知道這將是一個額頭sla子。當我突出顯示並執行我的複製命令時,它工作正常。但是,當我把它放在do語句中並執行時,出現以下錯誤:語法錯誤在或近

ERROR: syntax error at or near "Warner" 

我環顧四周,找不到明顯的解決方案。我在do語句結尾處移動了分號,將其移除,錯誤不會消失。任何想法的人?謝謝...

DO 
$$ 
BEGIN 
COPY _tmp_employer_create FROM STDIN; 
Warner Bros. Entertainment Inc. Manually Entered Manually_Entered-Unverified STUDIO 
Disney. Entertainment. Manually Entered Manually_Entered-Unverified STUDIO 
\. 
END; 
$$ 

回答

1

爲什麼在這裏使用內聯塊(DO語句)?它沒有任何意義。更多 - 內聯塊被解析爲語法樹 - 這意味着它可以有效地與stdin斷開連接 - 所以沒有辦法,如何在DO語句中使用COPY和數據。

從服務器端腳本到標準輸入或標準輸出的任何訪問都非常困難 - 而且在典型級別上是不可能的。

+0

我有些事情不利於我。我是一個新手(對PostgreSQL),網絡管理員今天不在,否則我會完全從文件中完成。但我感謝你指出這些事情。我只需要處理手動執行它,直到星期一(當網絡管理員回來)。 –

+0

如果你有一些CSV格式的文件,那麼使用簡單的COPY語句。不要使用DO語句。如果你可以啓動一個控制檯 - psql,那麼你可以編寫 - 「\ copy _tmp_employer_create from pathfile csv」 –

相關問題