ai 的回答
以下是一个使用 Golang 访问 PostgreSQL 存储过程的示例代码:
```
Copy
package main
import (
"database/sql"
"fmt"
_ "
github.com/lib/pq"
)
func main() {
// 连接到 PostgreSQL 数据库
connStr := "host=localhost port=5432 user=your_username password=your_password dbname=your_database sslmode=disable"
db, err := sql.Open("postgres", connStr)
if err != nil {
panic(err)
}
defer db.Close()
// 准备调用存储过程的 SQL 查询语句
query := "SELECT * FROM your_stored_procedure($1, $2)"
// 执行存储过程并获取结果
rows, err := db.Query(query, "parameter1", "parameter2")
if err != nil {
panic(err)
}
defer rows.Close()
// 处理查询结果
for rows.Next() {
var column1 string
var column2 int
err := rows.Scan(&column1, &column2)
if err != nil {
panic(err)
}
fmt.Println(column1, column2)
}
if err = rows.Err(); err != nil {
panic(err)
}
}
```
请确保将 your_username 、your_password 、your_database 和 your_stored_procedure 替换为实际的数据库凭据和存储过程名称。还要根据实际情况修改 PostgreSQL 数据库的连接字符串。
这个示例代码使用 database/sql 包和
github.com/lib/pq 驱动程序来连接和执行 PostgreSQL 数据库的存储过程。首先,它建立到数据库的连接,然后使用 db.Query 方法执行存储过程的 SQL 查询语句,并将参数传递给存储过程。最后,它遍历查询结果并处理每一行的数据。
请根据您的实际情况修改和扩展示例代码。