Как вы можете видеть здесь , DML
имеет некоторые ограничения в BigQuery
, и одно из них:
Запросы, содержащие операторы языка манипулирования данными (DML) не может использовать таблицу подстановочных знаков в качестве цели запроса. Например, таблица подстановочных знаков может использоваться в предложении FROM запроса UPDATE, но таблица подстановочных знаков не может использоваться в качестве цели операции UPDATE.
Другими словами, вы не можете использовать подстановочный знак для указания таблицы, которую нужно создать, обновить или вставить новые записи. Несмотря на это, вы можете использовать его для указания источника вашей даты.
Давайте рассмотрим некоторые примеры использования подстановочных знаков с DML и DDL.
INSERTING
Если вы вставляете данные в таблицу подстановочных знаков, вам нужно вставить свои данные в финальную таблицу. Другими словами, вам нужно указать путь coplete, включая суффикс.
INSERT INTO `mydataset.mytable_US` <your query or your values>
Если вы используете таблицу подстановочных знаков в качестве источника данных для вставки данных в обычную таблицу, вы можете использовать подстановочные знаки в WHERE
предложение:
INSERT INTO `mydataset.mynormaltable`
SELECT <fields>
FROM `mydataset.mytable_*`
WHERE _TABLE_SUFFIX = "US"
CREATING
Опять же, вы не можете использовать подстановочный знак в цели, но вы можете использовать его для указания источник данных:
CREATE TABLE IF NOT EXISTS `mydataset.normal_table`
AS SELECT <fields>
FROM `mydataset.mytable_*`
WHERE _TABLE_SUFFIX = "US"
Если вы хотите создать новую таблицу подстановочных знаков с тем же префиксом, вы можете сделать:
CREATE TABLE IF NOT EXISTS `mydataset.mytable_GB`
AS SELECT <fields>
FROM `mydataset.table`
В этом примере вы создали новый суффикс с именем GB , После этого вы сможете запрашивать вашу таблицу с нормальным суффиксом ГБ.
Наконец, я хотел бы приложить здесь ссылку на DML и DDL для BigQuery
.
Надеюсь, это поможет