如何在vertica中生成和运行动态sql

时间:2015-01-15 06:14:32

标签: vertica

我打算在查找表中维护派生字段的逻辑,并考虑实时运行动态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的一部分,我查询具有源字段的源表。

1 个答案:

答案 0 :(得分:1)

此功能在Vertica中尚不存在。希望在未来的版本中。最简单的方法是编写脚本以通过vsql或jdbc执行sql。