0

我无法在查询中声明要与 Denodo 一起使用的变量。

我尝试使用 sql 语法编写它,但“declare”出现错误。

declare @var1 varchar(6) = 'table1'

select column_name, column_description
from view('pb', '@var1')
order by column_name

我希望它可以使用变量“var1”运行,但我收到错误代码 1100 并显示一条消息:“语法错误:声明附近的异常解析查询”。

4

1 回答 1

2

您可以通过 SETVAR('', '', '', '') 在 Denodo 中使用变量。但这仅适用于 where 子句中的列名或条件。我已经对其进行了测试,但它不适用于视图名称。

例子:

select SETVAR('columnname','foo');
select GETVAR('columnname', 'text', 'asdf') from foobar 

这将返回 foobar 表的 foo 列

这不起作用:

select SETVAR('tablename','foobar');
select * from GETVAR('tablename', 'text', 'asdf')

我不认为在denodo中使用变量作为表名是可能的。您可能需要在编写查询时在脚本中执行此操作。

于 2019-07-05T05:58:48.950 回答