我们可以做类似的事吗
\echo 'Type username to show its properties';
SELECT * FROM mY_users WHERE username = ?;
\echo 'End of script';
在psql脚本文件中?
系统会等到我们输入内容然后回显“脚本结束”字符串。
答案 0 :(得分:6)
我刚刚意识到内部并不意味着在postgresql.conf中定义了变量。
所以,我可以使用\prompt
\prompt 'Please, enter an username ', my_user
SELECT * FROM mY_users WHERE username = :my_user;
\echo 'End of script'
修改
与命令\ echo类似,您最后不需要添加;
。实际上,如果您在使用\prompt
时添加一个,则会收到错误。
您可以显示使用从标准输入读取的值。
\echo 'Here\'s the value read from stdin : ' :my_user
答案 1 :(得分:2)
COPY命令也许可以帮助与stdin进行交互,
COPY t(a) FROM stdin;
此示例与
相同\prompt 'Please, enter a string ', mystr
insert into t(a) values ( ':mystr' );
与引号混淆较少,以及执行大量输入任务的可能性。
答案 2 :(得分:-1)