【问题标题】:Running Query Result Which Is a SQL Statement运行查询结果是一条 SQL 语句
【发布时间】:2015-03-20 20:37:12
【问题描述】:

我正在使用 PostgreSQL 9.4 和 PG Admin。我有一个包含准备好的 SQL 语句的字段的表。我根据 2 个变量选择特定记录。我想将结果作为它自己的 SQL 语句运行。理想地,所选择的记录将是基于改变两个变量的动态的。这是一个简短的例子:

从 year_month = '2014_12' and id = 1 的指标中选择 search_expression_used

这将返回我要运行的 SQL 语句:

从 ...中选择 *。

有没有办法将 SQL 语句的结果作为它自己的 SQL 语句运行,并带有变量?谢谢

【问题讨论】:

  • @sqluser 他正在使用 PostgreSQL
  • 你需要写一个使用动态SQL的函数
  • 我对动态SQL有非常基本的了解,但是如何将SQL语句的结果传递给变量呢?我可以将 sql 文本设置为 'select search_expression_used from metrics where year_month = ''2014_12'' and id = 1',但我不知道如何获取结果并将变量设置为它。

标签: sql postgresql dynamic-sql pgadmin


【解决方案1】:

这可能以编程方式实现。 获取结果查询并使用游标再次执行。

我实际上并没有完全明白你所说的你正在使用管理控制台的问题,在这种情况下,为什么不直接将结果粘贴到查询框并再次点击运行?

【讨论】:

  • 在管理控制台中运行对我有用,但 SQL 将由非 SQL 用户在进程中使用。一位开发人员制作了一个为用户提供输入的前端工具,因此他们看不到任何 SQL。我们可以在后端使用 SQL 创建新报告,但 PostgeSQL 需要能够运行它。只要我可以创建一个函数来运行原始 SQL 语句产生的 SQL,我们就无法实现它。感谢您的帮助
猜你喜欢
  • 2012-04-14
  • 1970-01-01
  • 2021-11-03
  • 1970-01-01
  • 2014-11-12
  • 1970-01-01
  • 1970-01-01
  • 2022-08-18
  • 1970-01-01
相关资源
最近更新 更多