我试图在下面的示例中使用变量来运行Psql脚本而不声明函数并且必须调用它们.
DECLARE result TEXT; BEGIN SELECT INTO result name FROM test; RAISE NOTICE result; END;
表测试只有1行和列.这是否可能,而无需将此脚本包装在函数中.这将允许我通过say命令行更容易调用脚本.
多谢你们.
解决方法
您可以使用
DO
来创建和执行匿名函数:
DO
executes an anonymous code block,or in other words a transient anonymous function in a procedural language.
像这样的东西:
do $$ declare result text; begin select name into result from test; raise notice '%',result; end; $$;
我还修正了你的加薪通知.
如果您只想以最小格式(即易于解析)将表中的单个值转储到标准输出,那么--tuples-only
可能会有所帮助:
-t
--tuples-only
Turn off printing of column names and result row count footers,etc. This is equivalent to the\t
command.
所以你可以从shell中说出这样的话:
result=$(echo 'select name from test;' | psql -t ...)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。