我正在编写一个 PL/pgSQL 函数。该函数具有指定(间接)从哪些表读取过滤信息的输入参数。
该函数嵌入了业务逻辑,允许它根据输入参数从不同的表中选择数据。该函数动态构建一个子查询,该子查询返回过滤数据,然后用于运行主查询。
我的问题是:
在 PL/pgSQL 函数中使用动态子查询是否“合法”。我不明白为什么不 - 但这个问题与下一个问题有关。
AFAIK、PL/pgSQL 由查询引擎缓存或预编译。生成动态子查询的函数如何影响查询引擎的工作?
我正在编写一个 PL/pgSQL 函数。该函数具有指定(间接)从哪些表读取过滤信息的输入参数。
该函数嵌入了业务逻辑,允许它根据输入参数从不同的表中选择数据。该函数动态构建一个子查询,该子查询返回过滤数据,然后用于运行主查询。
我的问题是:
在 PL/pgSQL 函数中使用动态子查询是否“合法”。我不明白为什么不 - 但这个问题与下一个问题有关。
AFAIK、PL/pgSQL 由查询引擎缓存或预编译。生成动态子查询的函数如何影响查询引擎的工作?