godror执行存储过程
时间: 2023-03-02 20:54:37 浏览: 101
Godror是Golang语言的Oracle数据库驱动程序,它可以与Oracle数据库进行交互,包括执行存储过程。
要执行Oracle存储过程,可以使用godror包中的Db.ExecContext函数,并将存储过程的名称和参数传递给它。以下是一个示例代码:
```go
import (
"context"
"database/sql"
"fmt"
"github.com/godror/godror"
)
func main() {
dsn := `user/pass@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=host)(PORT=1521)))(CONNECT_DATA=(SID=sid)))`
db, err := sql.Open("godror", dsn)
if err != nil {
fmt.Println(err)
return
}
defer db.Close()
ctx := context.Background()
var result string
err = db.QueryRowContext(ctx, "begin my_stored_proc(:1, :2); end;", "param1", "param2").Scan(&result)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(result)
}
```
在上面的代码中,我们使用Db.QueryRowContext函数来执行名为“my_stored_proc”的存储过程,并将两个参数传递给它。如果存储过程有返回值,则可以使用Scan函数将返回值读取到变量中。
注意,在dsn中需要替换"user"和"pass"为您自己的Oracle数据库用户名和密码,"host"和"sid"为您的Oracle数据库主机名和SID。此外,您还需要根据实际情况更改存储过程的名称和参数。