sql - teradata 中的动态选择表
问题描述
我是 teradata 的新手,我正在尝试在 teradata 中创建动态表。我已经创建了这段代码,但是有很多错误。帮助表示赞赏!
当前我手动编码:
select a_num,id from tablename union
select a_num,id from tablename_1912 union
select a_num,id from tablename_2001
注:1912、2001应该是动态的
预期的:
select a_num,id from tablename union
select a_num,id from tablename_1912(dynamically change) union
select a_num,id from tablename_2001(dynamically change)
我的代码:
create procedure test_sp()
Create volatile table test(Account Number varchar(50),Id varchar(30) on commit preserve rows;
Begin
Declare SQLL varchar(max);
Declare Schema_name_1 varchar(20);
Declare Schema_name_2 varchar(20);
Declare table_name varchar(30);
Declare underscore varhcar(10),
Declare 3_months_previous varchar(50);
Declare 2_months_previous varchar(50);
set schema_name_1 = 'Some_Schema_name1';
set schema_name_2 = 'Some_Schema_name2';
set table_name = 'test';
set 3_months_previous = substr(add_months(current_date,-3),3,2)||substr(add_months(current_date,-3),6,2);
set 2_months_previous = substr(add_months(current_date,-2),3,2)||substr(add_months(current_date,-2),6,2);
set underscore = '_';
set SQLL = 'select A_Num,''11''+ from '+Schema_name_1+table_name+ ' union all '+
'select B_Num,''22''+ from '+Schema_name_2+table_name+ ' union all '+
'select A_Num,''23''+ from '+Schema_name_1+table_name+underscore+3_months_previous ' union all '+
'select B_Num,''24''+ from '+Schema_name_2+table_name+underscore+2_months_previous ;
End;
insert into test
call test_sp();
select * from test t join another_Table c on t.a_num=c.p_num
解决方案
推荐阅读
- assembly - MIPS bad address/ Exception
- android - Dynamic Listview with EditText not clear values in Same Activity
- osquery - I want to connect my web application to show the reports from osquery SQLITE database
- angular - 下一页中的分页序列号以角度显示?
- java - Anilist api v2 GRAPHQL
- docker - 如何为多个环境创建单个 NGINX.conf 文件
- javascript - 使用反应项目列表中的 getElementById 更改一个项目的点击值是否是好方法
- python - python-docx 不会在 IDE 上自动完成
- java - 在 Android Studio 中需要帮助
- mysql - cause of \xF0\x9F\x98\x94 incorrect string value sql exception?