【问题标题】:How to change part of table name dynamically in WSO2 Data Service Server query?如何在 WSO2 数据服务服务器查询中动态更改部分表名?
【发布时间】:2016-12-06 04:48:29
【问题描述】:

我需要使用一个参数来完成DSS查询中表名的一部分。 示例:

SELECT .... FROM prefix_<env>tablename;

其中&lt;env&gt; 可以是QUERY_STRING 之类的参数。

在某些系统(如 SpagoBI)中,这可以通过如下环境参数来完成:

SELECT .... FROM prefix_{env}tablename;

并且在查询参数替换过程中,表名将被解析为prefix_001tablename(在 env=001 的情况下)。

在 DSS 中,我只有无法使用的绑定参数语法 (:env),因为没有确切的令牌标识 (prefix_:envtablename)。

我查看了代码(ExpressionQuery.java),但我没有找到解决此问题的任何方法。

重要信息:我无法更改表命名(我需要与第三方数据库交互)。

有人可以帮助我吗? 谢谢!

【问题讨论】:

    标签: sql wso2 wso2dss


    【解决方案1】:

    如果我正确理解了这个问题,我想问题是,你不能将一个名为“env”的命名参数映射到一个像“prefix_:envtablename”这样的查询,其中只有 :env 应该被翻译。所以在这里我们可以做的是把“?”在查询中并使其成为 QUERY_STRING 类型参数。所以理想情况下你应该有像“prefix_?tablename”这样的查询。这样,您可以按顺序传递参数?查询中提到了字符。

    干杯, 安佳娜。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-05
      相关资源
      最近更新 更多