Как выполнить оператор SQL, который хранится в виде значения в базе данных? - PullRequest
0 голосов
/ 01 февраля 2019

У меня есть несколько операторов 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'

Я хочу создать запрос, который ищет 1-й запрос и выполняет его.Я не мог найти подобный вопрос еще на этом сайте (для Netezza).Надеюсь, что кто-нибудь может мне помочь.Спасибо.

1 Ответ

0 голосов
/ 02 февраля 2019

Вы должны создать хранимую процедуру.Внутри этого возможен новый набор утверждений.В этом случае «выполнить немедленно», вероятно, добьется цели.Подробнее здесь https://www.ibm.com/support/knowledgecenter/en/SSULQD_7.2.1/com.ibm.nz.sproc.doc/c_sproc_executing_dynamic_queries.html

...