BigQuery: выполнение запросов для создания таблицы и добавления в таблицу, если таблица существует - PullRequest
1 голос
/ 10 января 2020

Можно ли выполнить запрос для создания таблицы, если она не существует, и добавить в таблицу, если таблица уже существует? Мне нравится писать один запрос для создания или добавления. Примечание: я сейчас использую консоль администратора, буду использовать API в конце концов.

У меня следующий запрос:

CREATE TABLE IF NOT EXISTS `project_1.dataset_1.tabe_1`
 OPTIONS(
   description="Some desc"
 ) AS
 SELECT *
 FROM source_table

Я получаю следующую ошибку:

A table named project_1.dataset_1.tabe_1 already exists. 

1 Ответ

0 голосов
/ 11 января 2020

Похоже, что это хорошая возможность использовать сценарии в одном запросе для удовлетворения sh ваших потребностей.

См. эту страницу , чтобы добавить поток управления в запрос к обработать ошибку (например, если создать таблицу не удается из-за существующей). В исключительном случае вы можете при необходимости выписать оператор INSERT ... SELECT .

Вы также можете сделать это через API, если хотите. Просто выдайте эквивалент файла tables.get, соответствующий конкретной выбранной вами библиотеке / языку, и посмотрите, существует ли таблица, а затем вставьте соответствующий запрос на основе этого результата этой проверки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...