问题描述
我试图通过Golang来获取我正在雪花上执行的查询的查询ID。执行查询后,在雪花UI上,我们获得了指向查询ID的链接以及结果。我不确定如何以编程方式获取此查询ID。不知道我是否做对了,但这就是我所拥有的-使用连接字符串连接到雪花;使用此连接来执行查询。除了结果,我还希望查询ID。我是雪花的新手,对实现此目的的任何帮助将不胜感激。
import (
"database/sql"
"log"
)
var db *sql.DB
func init() {
db,err := sql.Open("sNowflake","<connection string>")
if err != nil {
log.Fatal(err)
}
}
func callDB() {
type result struct {
ID string
Name string
}
row := db.QueryRow("SELECT ID,NAME FROM EMPLOYEE") // get query id as well
if err := row.Scan(&result.ID,&result.Name); err != nil {
log.Fatal(err)
}
...
...
...
}
func main() {
callDB()
}
解决方法
您可以使用SnowflakeResult
或SnowflakeError
获取查询ID,也可以直接向Snowflake提交查询,以使用SQL中可用的LAST_QUERY_ID
函数。以下是一些参考文件供您使用:
https://docs.snowflake.com/en/sql-reference/functions/last_query_id.html