代码之家  ›  专栏  ›  技术社区  ›  Luc M

我们可以和psql脚本交互吗?

  •  4
  • Luc M  · 技术社区  · 14 年前

    我们能做点什么吗

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

    在psql脚本文件中?

    系统将等待输入内容,然后回送“脚本结束”字符串。

    3 回复  |  直到 8 年前
        1
  •  6
  •   Vao Tsun    8 年前

    我刚意识到内部并不意味着变量定义为postgresql.conf。

    所以,我可以用 \prompt

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

    编辑

    就像命令\echo,您不需要添加 ; 最后。实际上,如果在使用时添加一个 提示 ,你会得到一个错误。

    您可以显示使用从stdin读取的值。

    \echo 'Here\'s the value read from stdin : ' :my_user
    
        2
  •  2
  •   Peter Krauss    11 年前

    copy命令可能有助于与stdin交互,

     COPY t(a) FROM stdin;
    

    这个例子与

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

    少用引号混淆,并有可能做大量的输入任务。

        3
  •  -1
  •   dmags    14 年前