1

背景:

我正在 Avaya CMS Supervisor 中撰写报告。现在,如果您不知道那是什么,那并不重要,因为问题是关于 SQL 的。但是,如果您确实知道它,那么它肯定会有所帮助。

在这个程序中,您可以创建从数据库中提取数据的报告(然后显示给用户)。事情是;要创建这些报告,您必须使用(荒谬的)可视点击选择项目形式的查询构建器。但是,您可以做的是定义要选择的每个项目(在 -SELECT子句中)和 - 子句中的每个项目WHERE

现在,我的问题是访问用户输入的唯一方法是在WHERE.

问题:

是否有可能通过任何黑客或其他方式从 中修改WHERE中显示的值SELECT

如果简单的 SQL 查询有(变量)变量,这或多或少是有效的:

SELECT drv-tbl.$A
FROM drv-tbl
WHERE
    $b = (SELECT value AS $A FROM table) AS drv-tbl
4

2 回答 2

1

这有点晚了,但尽管如此:没有标准的方法可以做到这一点。一个 hacky 方法是将您需要的报告保存到文件中,对其进行编辑并重新加载到 CMS Supervisor。这样,您可以在 CMS 中使用 Informix 服务器支持的几乎任何类型的查询。

一种稍微简单且仍在保修期内的方法是直接从 Informix 转储您需要的数据,将其加载到 Excel 或其他任何内容中并在那里进行处理。请参阅我关于如何访问 Informix 数据的文章:http: //avaya.dwalin.ru/call-management-system/tutorial-using-informix-tools-to-access-cms-historical-database/

于 2012-04-17T21:43:26.877 回答
0

更简单的方法是创建一个自定义数据库视图(名称必须以 c_ 开头),它封装了您尝试应用的逻辑。视图工作后,您必须进入 CMS 字典并将视图添加为自定义表并添加每一列。这是必需的,因为这是 Designer 可以使用视图的唯一方式。

于 2018-04-17T13:57:25.023 回答