首页 > 解决方案 > Postgres 中的嵌套 sql 脚本和变量

问题描述

我需要从 Oracle 迁移到 Postgres。

在 Oracle 中,我有 .sql 文件以这种方式调用嵌套的 .sql 文件(每个都有输入和输出参数):nested sql scripts and variables

在 Postgres 中寻找类似的解决方案我发现了这个: 如何从另一个脚本运行 postgres sql 脚本?

但是解决方案会发生什么:\i other_script.sql

我可以将输入参数传递给它吗?(如果是,如何?)我可以从中返回参数吗?(如果是,如何?)

还是 other_script.sql 和 calling.script 共享变量?

或者输入/输出参数没有等效的解决方案。两个 .sql 文件之间不共享变量吗?

标签: sqlbashpostgresql

解决方案


psql会话变量是基于会话的,因此您可以在脚本内设置任何psql变量,也可以在脚本外读取此变量。

\set myvar some value
select :'myvar';

psql 您可以在文档中阅读更多内容。


推荐阅读