【发布时间】:2021-04-14 00:59:20
【问题描述】:
我正在使用 GCP 大查询。我定义了一个外部连接“myconnectionid”。此连接属于“Cloud SQL - MySQL”连接类型,它适用于从 bigquery 到 cloudsql mysql 实例的运行联合查询,如下所示。
SELECT * FROM
EXTERNAL_QUERY("myconnectionid","SELECT CURDATE() from Dual;")
但是,当我尝试声明一个 SQL 变量并将联合查询的返回值分配给该变量时(我想这相当于 bigquery 脚本),我收到一条消息“未找到:连接 myconnectionid”。 请参阅下面导致代码 sn-p 的错误示例
DECLARE MYDATE DATE;
SET MYDATE = (SELECT * FROM
EXTERNAL_QUERY("myconnectionid","SELECT CURDATE() from Dual;"))
这个 sn-p 给我一个错误 “未找到:连接 myconnectionid 在 [2:14]”
gcp bigquery 外部连接是否需要在脚本中进行特殊处理? 或者更简单地说;你知道我该如何克服这个错误吗?
我正在阅读有关连接https://cloud.google.com/bigquery/docs/working-with-connections#federated_query_syntax 的谷歌文档 还有关于大查询脚本的谷歌文档 https://cloud.google.com/bigquery/docs/reference/standard-sql/scripting 还没有运气。
非常感谢您的帮助
谢谢!!
【问题讨论】:
-
您是否尝试过输入连接的完整 ID(格式为 project-id:location-id:instance-id),如 documentation 中的示例所示?
-
在这两种情况下都非常适合我 - 具有短连接 ID 和完整 ID。同时(这与您当前的问题无关,但很可能是下一个问题)在查询末尾添加限制 1 - 否则您将收到
scalar subquery producing more than one element错误
标签: google-cloud-platform google-bigquery google-cloud-sql