Google BigQuery中使用Golang V2 API中的参数化查询



im当前无法使用Golang中的V2 API使用参数化查询。通常没有参数,要处理查询的代码将是:

database_query := client.Query(report.Query) database_query.QueryConfig.Dst = table_result job, err := database_query.Run(ctx)

假设我们不使用命名的参数。让我们模拟2个参数并将其附加到API(https://github.com/googleclodplatform/google-cloud-go/blob/blob/master/master/master/bigquery/query.go.go)的请求中:

var params [2]string
params[0] = "currency"
params[1] = "price"
ParametersL := make([]bigquery.QueryParameter, 0)
for _,element := range params {
    temp := bigquery.QueryParameter{}
    temp.Value=element
    ParametersL = append(ParametersL,temp)
}
database_query := client.Query(report.Query)
database_query.QueryConfig.Dst = table_result
database_query.QueryConfig.Parameters= ParametersL

提供了您设法挤压"?"进入查询的适当位置,您要么会出现一个错误,要么在来自或另一个之后丢失?未被认可。使用 @命名参数也是如此。我是否错过了一些Cruzial,还是不支持Golang API的参数?

您需要将UseStandardSQL设置为QueryConfig的一部分,因为仅使用标准SQL支持查询参数。您还需要确保设置QueryParameter s的Type属性,该属性应为"STRING"。当然,虽然支持位置参数,但我仍然建议使用命名参数,因为如果您需要在某个时候修改查询字符串,它们使重构更容易。

相关内容

  • 没有找到相关文章

最新更新