如何在Teradata中不断访问表格ABC_XXX,其中XXX会定期更改?

问题描述 投票:0回答:1

我在Teradata ABC_XXX中有一张表格,其中XXX将按月更改。例如:ABC_1902,ABC_1812,ABC_1904等......

我需要在我的应用程序中访问此表而不必每月修改代码。

这是在Teradata或任何替代解决方案中的任何方式。

请帮忙

database teradata synonym
1个回答
0
投票

您可以尝试在子查询中使用DBC.TABLES,如下所示:

  with tbl as  (select  'select * from ' ||  databasename||'.'||tablename as tb from 
  dbc.tables where tablename like 'ABC_%')
  select * from tbl;

如果您可以在应用程序中执行最终查询,则无需编辑查询即可查询所需的表。

上述解决方案期望每当创建新月份表时,前一个月的表就会被删除。

但是,如果没有删除上一个表,那么您可以尝试以下方法:

select 'select * from db.ABC_' ||to_char(current_date,'YYMM')

输出将是

select * from db.ABC_1902

在您的应用程序中执行输出,您将能够查询动态表。

© www.soinside.com 2019 - 2024. All rights reserved.