Как запустить SQL-запрос, хранящийся в таблице Redshift - PullRequest
0 голосов
/ 11 июня 2019

Я хочу запустить SQL-запрос, который хранится как таблица varchar в таблице Redshift. Есть ли способ добиться того же? Вот что я хочу:

--if we have a text script like this
insert into schema_1.table_1 (id, script) values (1, 'select count(*) from 
schema_2.table_2;');
--is there any way to run this script in SQL?
RunString(select script from schema_1.table_1 where id = 1);

Таблица выглядит примерно так:

___________________________________________
|Id|Query                                 |
|--|--------------------------------------|
|1 |select count(*) from schema_2.table_2;|
-------------------------------------------

Короче говоря, я хочу выполнить запрос, представленный в таблице выше.

1 Ответ

1 голос
/ 11 июня 2019

Этого можно достичь с помощью Создание хранимых процедур в Amazon Redshift .

Я заметил, что Поддерживаемые операторы PL / pgSQL включают в себя:

Динамический SQL

Чтобы генерировать динамические команды, которые могут включать разные таблицы или разные типы данных каждый раз, когда они запускаются из хранимой процедуры PL / pgSQL, используйте оператор EXECUTE.

EXECUTE command-string [ INTO target ];
...