gpt4 book ai didi

postgresql - 包含脚本中的 psql 变量

转载 作者:行者123 更新时间:2023-11-29 12:05:41 25 4
gpt4 key购买 nike

更新:这个具体问题与 psql 包含的脚本无关。包含的脚本中的变量按预期进行插值。实际问题是由在 SQL 函数定义中的 $$ 引号内使用 psql 变量引起的,并且是 described in this question .

我在相当长的 SQL 脚本中使用 psql 变量从命令行设置一些参数(表名、值)。该脚本变得太长,我将其分成几个部分并使用 \ir subscript.sql 语法将它们包含到主脚本中。但是,主脚本中的变量不会传递给下标。这很奇怪,因为文档说 \i file 等同于在键盘上键入文件,即应该保留脚本环境。

有没有一种简单的方法可以将变量传递给 psql 中包含的脚本?

我使用的是 psql 版本 9.3.1。

最佳答案

查看 http://www.postgresql.org/docs/current/static/app-psql.html 处的 --variable=

例如。

psql -d somedb -U someuser -f yourscript.sql --variable=Foo=foobar

在你的脚本中你可以:

UPDATE sometable SET somecol = :Foo;

关于postgresql - 包含脚本中的 psql 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19846937/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com