Как вы объявляете переменную в Denodo? - PullRequest
0 голосов
/ 08 мая 2019

У меня проблемы с объявлением переменной в моем запросе для использования с Denodo.

Я пытался написать ее с использованием синтаксиса sql, но получаю сообщение об ошибке с "Declare".

declare @var1 varchar(6) = 'table1'

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

Я ожидаю, что это будет работать с переменной «var1», но я получаю код ошибки 1100 с сообщением: «Синтаксическая ошибка: запрос синтаксического анализа исключения близок к объявлению».

1 Ответ

2 голосов
/ 05 июля 2019

Вы можете использовать переменные в Denodo с SETVAR ('', '', '', '').Но это будет работать только с именами столбцов или условиями в предложениях where.Я проверил его, и он не работает с именами представлений.

Пример:

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

возвращает столбец foo таблицы foobar

Это не работает:

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

Я не думаю, что использование переменной в качестве имени таблицы возможно в denodo.Возможно, вам придется сделать это в сценарии при написании запроса.

...