2010-05-17 38 views
0

我在写PL/pgSQL函数。该函数具有输入参数,用于指定(间接)从哪些表中读取过滤信息。PL/pgSQL函数可以包含动态子查询吗?

功能嵌入业务逻辑允许其选择基于所述输入参数的不同表中的数据。该函数动态构建一个子查询,该子查询返回过滤数据,然后用于运行主查询。

我的问题是:

  1. 是否 '合法',以在PL/pgSQL函数使用动态子查询。我不明白为什么不 - 但这个问题与下一个问题有关。

  2. AFAIK,PL/pgSQL的被高速缓存或由查询引擎预编译。如何让生成动态子查询的函数影响查询引擎的工作?

回答