我想在不同的时间运行类似的查询,只更改where子句中的一个内容和它所从的表名。
declare ?tablename varchar(100);
set ?tablename = 'some_table_this_time';
declare ?id int;
set ?id = 12
select * from ?tablename
where my_id = ?id
此语法在teradata中不起作用。我在其他sql程序中使用了@variable语法,但在teradata中找不到正确的方法。
研究:
http://forums.teradata.com/forum/database/using-parameters-with-queries
答案 0 :(得分:3)
在Teradata中,没有直接等同于该语法。查看Dieter撰写的这篇博文,了解如何做类似的事情:
http://developer.teradata.com/blog/dnoeth/2011/03/global-and-session-level-parameters-in-sql