我打算在查找表中维护派生字段的逻辑,并考虑实时运行动态sql语句。
例如,如果字段company_type是基于以下逻辑派生的
case when substr(company_code,1,3)='XYZ' then substr(comapny_code,4,6)
when substr(company_code,1,3)='ABC' then substr(company_code,7,9)
else substr(company_code,1,3) end;
为了避免代码更改,只要业务提供新案例,我想在查找表中维护逻辑,如下所示
order src_filed src_value
--------------------------------------------------------------
1 substr(company_code,1,3)='XYZ' substr(4,6)
2 substr(company_code,1,3)='ABC' substr(7,9)
3 substr(1,3)
现在基于查找表中的数据,我希望能够动态生成case语句并能够运行case statemnent。请注意,我需要运行该动态sql作为另一个sql的一部分,我查询具有源字段的源表。
答案 0 :(得分:1)
此功能在Vertica中尚不存在。希望在未来的版本中。最简单的方法是编写脚本以通过vsql或jdbc执行sql。