如何从PostgreSQL中的OID中选择表格?

时间:2017-09-20 15:42:58

标签: sql postgresql

有没有办法执行查询,如:

SELECT * FROM 17187::regclass;

其中SELECT 17187::regclass;tablename

EXECUTE的功能中很容易实现这一点,但我想知道没有功能的话。

感谢。

1 个答案:

答案 0 :(得分:1)

你当然需要执行。这就是原因:

SQL查询在执行时会经过管道。这大致如下:

  1. 解析查询的标识符与值
  2. 如果适用的话,"门户网站"已创建,并从参数
  3. 填写值文字
  4. 如果适用,则计划并优化查询
  5. 执行查询。
  6. 这样做的一个结果是您只能参数化值文字,并且永远不能参数化标识符。此外,实用程序语句从未计划或参数化(因此您无法在create user中对任何内容进行参数化,尽管这是本讨论的外围因素。)

    我没有看到为什么这种根本不可能的原因,但目前PostgreSQL的工作方式并不支持它。