|
|
@@ -1,13 +1,72 @@
|
|
|
package postgres
|
|
|
|
|
|
+import (
|
|
|
+ "encoding/json"
|
|
|
+ "fmt"
|
|
|
+ "github.com/jackc/pgx/v4"
|
|
|
+)
|
|
|
+
|
|
|
type Test struct {
|
|
|
base
|
|
|
}
|
|
|
|
|
|
func (t Test) UserAdd(name string) {
|
|
|
+ stCode := -999
|
|
|
+ sql := `select fn_user_add2($1,$2);`
|
|
|
+ _, err := t.writeDB().QueryFunc(t.ctx(), sql, []interface{}{name, stCode}, []interface{}{&stCode}, func(pgx.QueryFuncRow) error {
|
|
|
+ fmt.Printf("%v", stCode)
|
|
|
+ return nil
|
|
|
+ })
|
|
|
+ if err != nil {
|
|
|
+ fmt.Printf("QueryFunc error: %v", err)
|
|
|
+ }
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
+type UserListInfo struct {
|
|
|
+ Id int
|
|
|
+ Name string
|
|
|
+}
|
|
|
+
|
|
|
+func (t Test) UserList1() (rs []interface{}, err error) {
|
|
|
+ //var id int32
|
|
|
+ //var name string
|
|
|
+ //var ct time.Time
|
|
|
+ var one interface{}
|
|
|
+ var rs_ struct {
|
|
|
+ Rs []interface{}
|
|
|
+ }
|
|
|
+ //var a interface{}
|
|
|
+
|
|
|
+ sql := `select id,name from func_userlist_query();`
|
|
|
+ _, err = t.writeDB().QueryFunc(t.ctx(), sql, []interface{}{}, []interface{}{&one}, func(rows pgx.QueryFuncRow) error {
|
|
|
+
|
|
|
+ rs_.Rs = append(rs_.Rs, one)
|
|
|
+ return nil
|
|
|
+ })
|
|
|
+ if err != nil {
|
|
|
+ fmt.Printf("QueryFunc error: %v", err)
|
|
|
+ }
|
|
|
+
|
|
|
+ data, err := json.Marshal(rs_)
|
|
|
+ println(string(data))
|
|
|
+ return
|
|
|
+}
|
|
|
+func (t Test) UserList() (rs []interface{}, err error) {
|
|
|
+ //var id int32
|
|
|
+ //var name string
|
|
|
+ //var ct time.Time
|
|
|
+ usone := UserListInfo{}
|
|
|
+ sql := `select id,name from func_userlist_query();`
|
|
|
+ _, err = t.writeDB().QueryFunc(t.ctx(), sql, []interface{}{}, []interface{}{&usone.Id, &usone.Name}, func(pgx.QueryFuncRow) error {
|
|
|
|
|
|
- sql := `insert into t_user ( name,create_at) VALUES ($1,now())`
|
|
|
+ fmt.Printf("%v\n", usone)
|
|
|
+ rs = append(rs, usone)
|
|
|
|
|
|
- panicExec(t.writeDB().Exec(t.ctx(), sql,
|
|
|
- name))
|
|
|
+ return nil
|
|
|
+ })
|
|
|
+ if err != nil {
|
|
|
+ fmt.Printf("QueryFunc error: %v", err)
|
|
|
+ }
|
|
|
+ return
|
|
|
}
|