i don't know how to call function with output REFCURSOR in golang My function
create function find_all_by_user_id(OUT rc_out refcursor, p_user_id bigint) returns refcursor
language plpgsql
as
$$
BEGIN
open rc_out for
select *
from users u
where u.id = p_user_id;
END;
$$;
My connect DB
func createDBConn() {
config := GetDbYmlConfig()
datasource := fmt.Sprintf("host=%s port=%d user=%s password=%s dbname=%s sslmode=disable",
config.Host, config.Port, config.Username, config.Password, config.Database,
)
Db, err = sql.Open(config.DriverName, datasource)
fmt.Println(Db.Ping())
Db.SetMaxOpenConns(config.MaximumPoolSize)
Db.SetMaxIdleConns(config.MaximumIdle)
if err != nil {
panic(err.Error())
}
}
but i don't know import param and call function
db := database_config.NewConnection()
defer db.Close()
tx, err := db.Begin()
if err != nil {
return 0, errors.New(constant.Exception)
}
sql := fmt.Sprintf(`SELECT %s($1, $2)`, Config.Procedure.FindAllByUsers)
Thank you for your help