2010-09-19 50 views
4

,我們可以做一個PSQL腳本文件類似我們可以與psql腳本交互嗎?

\echo 'Type username to show its properties'; 
SELECT * FROM mY_users WHERE username = ?; 
\echo 'End of script'; 

系統會等待,直到我們輸入內容,然後回顯'腳本結束'字符串。

回答

6

我剛剛意識到內部並不意味着定義成postgresql.conf中的變量。

所以,我可以用\prompt

\prompt 'Please, enter an username ', my_user 
SELECT * FROM mY_users WHERE username = :my_user; 
\echo 'End of script' 

編輯

像命令\迴音,你不需要在末尾添加一個;。實際上,如果您在使用\prompt時添加一個,則會出現錯誤。

您可以顯示使用從標準輸入讀取的值。

\echo 'Here\'s the value read from stdin : ' :my_user 
1

COPY命令可以,也許,幫助標準輸入交互,

COPY t(a) FROM stdin; 

這個例子一樣做

\prompt 'Please, enter a string ', mystr 
insert into t(a) values (':mystr'); 

用引號減少混亂,做的可能性一個巨大的輸入任務。

相關問題