mle*_*vit 4 postgresql variables psql
我试图在下面的示例中使用变量来运行PSQL脚本而不声明函数并且必须调用它们.
DECLARE
    result TEXT;
BEGIN
    SELECT INTO result name 
FROM test;
    RAISE NOTICE result;
END;
表test只有1行和列.这是否可能,而无需将此脚本包装在函数中.这将允许我通过say命令行更容易调用脚本.
多谢你们.
mu *_*ort 10
您可以使用DO创建和执行匿名函数:
DO执行匿名代码块,或者换言之,以过程语言执行临时匿名函数.
像这样的东西:
do $$
    declare result text;
    begin
        select name into result from test;
        raise notice '%', result;
    end;
$$;
我也修好了你的raise notice.
如果您只想以最小格式(即易于解析)将表中的单个值转储到标准输出,那么可能--tuples-only会有所帮助:
-t
--tuples-only
关闭列名称和结果行计数页脚等的打印.这相当于\t命令.
所以你可以从shell中说出这样的话:
result=$(echo 'select name from test;' | psql -t ...)
| 归档时间: | 
 | 
| 查看次数: | 3276 次 | 
| 最近记录: |