Teradata Динамический SQL с переменными связывания? - PullRequest
0 голосов
/ 08 мая 2018

Можно ли использовать переменные связывания в динамическом операторе SQL Teradata? Я не могу найти пример нигде. Я хочу сделать что-то вроде этого:

DECLARE SQLString VARCHAR(1000)
SET SQLString = 'SELECT * FROM MyTable WHERE ColumnA = :variable1';

EXECUTE IMMEDIATE SQLString; --Can I pass something here for variable1 or do I have to concatenate and not use a bind variable?

Спасибо

1 Ответ

0 голосов
/ 08 мая 2018

DML-операторы с переменными связывания обычно выполняются несколько раз, поэтому при использовании EXECUTE IMMEDIATE нет переменных связывания, вы должны использовать EXECUTE/PREPARE:

DECLARE SQLstring VARCHAR(1000);
SET SQLstring = 'update MyTable SET ColumnA = ? where columnB = ?'; -- ? identify bind variables
PREPARE S1 FROM SQLstring;
EXECUTE S1 USING variable1, variable2;

См. Руководство по хранимой процедуре

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...