Есть ли способ выполнить динамический запрос c в BigQuery? - PullRequest
0 голосов
/ 05 марта 2020

Ребята, мне нужно сделать динамическое выделение c в таблице, используя переменную после from, например: SELECT * FROM @ table.

Если кто-то может сделать это иначе, пожалуйста, помогите!

tks!

Я использую этот запрос ниже:

DECLARE id INT64;
    DECLARE contador INT64 DEFAULT 1;
    DECLARE name_table STRING;
    DECLARE query STRING;       

    CREATE OR REPLACE TABLE `crm-prod-254714.work.controle_tabelas`
    AS
    SELECT DISTINCT CONCAT('`', table_catalog, '.', table_schema, '.', table_name, '`') as tabela
                  ,ROW_NUMBER() OVER() AS ROWID
    FROM ntk.INFORMATION_SCHEMA.TABLES;

    SET id = (SELECT MAX(ROWID) FROM `crm-prod-254714.work.controle_tabelas`);

    WHILE (contador <= id) DO

    SET name_table = (SELECT tabela FROM `crm-prod-254714.work.controle_tabelas` WHERE rowid = 1);

    SET QUERY = CONCAT('SELECT * FROM ', name_table, ';');

    EXECUTE QUERY;

    SET contador = contador+1;

    END WHILE
...