BigQuery 中的 MERGE 语句失败,并显示:"an internal error occurred and request could not be processed"



>我在 BigQuery 中执行下面的"MERGE"语句并收到错误:

"发生内部错误,无法处理请求">

我做错了什么?

SQL1:

MERGE INTO
testdataset.bq_pars_table TGT
USING
(
SELECT
ID,
NAME,
TOTAL,
AVG_amt,
CREATED_AT
FROM
testdataset.bq_pars_table_copy_merge ) SOURCE
ON
(TGT.ID = SOURCE.ID )
WHEN MATCHED  THEN  UPDATE   SET  TGT.avg_amt = SOURCE.avg_amt
WHEN NOT MATCHED
THEN
INSERT
(ID,
NAME,
TOTAL,
AVG_amt,
CREATED_AT)
VALUES
( SOURCE.ID, SOURCE.NAME, SOURCE.AVG, SOURCE.CREATED_AT)

SQL2:

下面是一个能够 执行和更新所需的数据 .

MERGE INTO
testdataset.bq_pars_table TGT
USING
(
SELECT
ID,
NAME,
TOTAL,
AVG_amt,
CREATED_AT
FROM
testdataset.bq_pars_table_copy_merge ) SOURCE
ON
(TGT.ID = SOURCE.ID )
WHEN MATCHED  THEN  UPDATE   SET  TGT.avg_amt = SOURCE.avg_amt

查询的问题是插入列和值列表不匹配。列名列表中有 5 列,值列表中有 4 列。似乎您错过了价值列表中的总价值。

在这种情况下,BQ 应该给出明确的消息,而不是内部错误。我们将努力解决这个问题。

相关内容

最新更新