Я пытаюсь запланировать таблицу в BigQuery с помощью этого запроса
DECLARE isEmpty DEFAULT (SELECT COUNT(keyword) = 0 from dataset.check_table);
DECLARE isFilled DEFAULT (SELECT COUNT(keyword) > 0 from dataset.check_table);
IF isEmpty
THEN SELECT * FROM dataset.table_a;
ELSEIF isFilled
THEN SELECT * FROM dataset.table_b;
END IF;
Оказывается, планирование не сработало и дало мне «
ERROR: Write preference and partitioning field are not supported with DDL/DML statements
Затем я пробую обходной путь, чтобы сделать этот запрос в виде представления, используя:
CREATE OR REPLACE VIEW dataset.v_table AS
DECLARE isEmpty DEFAULT (SELECT COUNT(keyword) = 0 from dataset.check_table);
DECLARE isFilled DEFAULT (SELECT COUNT(keyword) > 0 from dataset.check_table);
IF isEmpty
THEN SELECT * FROM dataset.table_a;
ELSEIF isFilled
THEN SELECT * FROM dataset.table_b;
END IF;
Но я не смог этого сделать, так как это дает мне другую ошибку:
Syntax error: Expected "(" or keyword SELECT or keyword WITH but got keyword DECLARE at [3:1]
Есть ли здесь у кого-нибудь идеи, чтобы я мог составить расписание?
Заранее спасибо