首页 > 解决方案 > 如何执行作为值存储在数据库中的 SQL 语句?

问题描述

我有一些 SQL 语句存储在我们的 Netezza DWH 中。我想从新查询中运行其中一些(或至少一个)。

我已经尝试了很多使用 Declare 之类的东西,但它似乎不适用于 Netezza。

这是一个已存储的查询:

SELECT 
    "CUST-NO (CUNO)" AS KEY_REFERENCE, 
    'TESTDB' AS REQ_NBR, 
    CASE 
       WHEN TRIM("VAT-ID (VATID)") = '' 
          THEN 'InValid' 
          ELSE 'Valid' 
    END AS VALIDATION
FROM
    PE_NL."Customer Name and Address Physical File (CIPNAME0)"
WHERE 
    "COUNTRY (CCNTRY)" = 'NL'

这是检索查询的方法:

SELECT QUERY_STR 
FROM MDM.DQM_REFERENCE_TESTDB 
WHERE SOURCE_SYSTEM = 'LOTUSN'

我想创建一个查询来查找第一个查询并执行它。我在这个网站(对于 Netezza)上找不到类似的问题。希望有人能帮助我。谢谢。

标签: sqlnetezzaaginity

解决方案


您必须创建一个存储过程。在其中一个全新的语句集是可能的。在这种情况下,“立即执行”可能会奏效。在此处阅读更多信息https://www.ibm.com/support/knowledgecenter/en/SSULQD_7.2.1/com.ibm.nz.sproc.doc/c_sproc_executing_dynamic_queries.html


推荐阅读