0

是否可以在 Teradata 动态 SQL 语句中使用绑定变量?我在任何地方都找不到示例。我想做这样的事情:

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?

谢谢

4

1 回答 1

3

带有绑定变量的 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;

请参阅存储过程手册

于 2018-05-08T17:22:21.333 回答