如何在bigquery中执行宏

时间:2019-10-15 06:19:57

标签: google-bigquery

我需要将运行Teradata作为后端的一些现有前端应用程序移至Google BigQuery。这些前端应用程序中使用的常见模式之一是,根据用户选择的不同输入,在Teradata中调用宏。考虑到BigQuery没有创建宏实体的方法,我该如何替换它并让前端调用BigQuery执行类似的操作。通过ODBC / JDBC或Java服务连接到BigQuery。

3 个答案:

答案 0 :(得分:1)

Teradata中的宏只是一种将多个SQL语句作为单个请求执行的方法,而该请求又被视为单个事务。它还允许您参数化查询。

如果新的数据库后端支持它,则可以将宏转换为存储过程/函数。否则,您可以从宏中提取单个SQL语句,然后尝试将它们作为单个事务一起运行。

这些链接可能会有所帮助:FunctionsDML

浏览文档,看起来写函数可能是最好的选择:“不支持多语句事务。”

答案 1 :(得分:1)

您可以查看Beta-https://cloud.google.com/bigquery/docs/reference/standard-sql/scripting#bigquery-scripting中的Bigquery脚本,用于从Teradata迁移宏。在此版本中,您可以编写过程,在其中可以定义所有业务逻辑,然后使用CALL语句执行该过程。

谢谢, Jayadeep

答案 2 :(得分:0)

如上所述:

  

Teradata中的宏只是执行多个SQL语句的一种方式   作为单个请求,而该请求又被视为单个事务。   它还允许您参数化查询。

话虽如此,您只需要从teradata进行迁移,here就可以找到执行此操作的指南,并回答您的问题,该连接是通过JDBC建立的,其驱动程序是{{3} }。