go - 使用 Go 接口(interface)获取雪花查询的查询 ID

标签 go snowflake-cloud-data-platform

我正在尝试通过 Golang 接口(interface)获取我在雪花上执行的查询的查询 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 获取查询 ID或 SnowflakeError ,或者您也可以直接向 Snowflake 提交查询以使用 LAST_QUERY_ID SQL 中可用的函数。这里有一些引用文件供您引用:
https://docs.snowflake.com/en/sql-reference/functions/last_query_id.html
https://godoc.org/github.com/snowflakedb/gosnowflake

关于go - 使用 Go 接口(interface)获取雪花查询的查询 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63971205/

相关文章:

go - 主机参数在mux.Vars()中不可用

terraform - 是否可以部署具有不同访问级别的 terraform 资源,如果可以,如何?

go - 如何在旅途中解决螺旋矩阵

json - 如何从 Go 动态创建 JSON 结构?

database - gobuffalo 是否能够自动生成我的表格?

go - 用goroutine调用函数与将函数代码包装在goroutine之间有区别吗?

sql - 在雪花结果集中用逗号分隔输出数字

sql - 创建一个新列,其中包含另一列后续行中的值列表

python - 我如何通过 python 将雪花与 Oauth 连接?

sql - 按组提取最常见(计数最高)的条目