psql\i命令能够执行给定的 SQL 脚本,但我需要一种将参数传递给脚本的方法。
示例:假设您有这个简单的脚本
select * from :table LIMIT 1;
Run Code Online (Sandbox Code Playgroud)
我试过了
my_db=> \i my-script.sql -v table="core.product"
Run Code Online (Sandbox Code Playgroud)
但出现这个错误
psql:my-script.sql:1: ERROR: syntax error at or near ":"
LINE 1: select * from :table LIMIT 1;
^
\i: extra argument "-v" ignored
\i: extra argument "table="core.product"" ignored
Run Code Online (Sandbox Code Playgroud)
我知道在终端上运行它会起作用,但我已经在 psql 中了。
psql -v table="core.product" -f my-script.sql
Run Code Online (Sandbox Code Playgroud)