VastbaseG100

基于openGauss内核开发的企业级关系型数据库。

Menu

调用存储过程与函数

在调用存储过程与函数时,也是基于sql.QueryRow()来进行,方法就是构建相应的sql语句来进行数据库访问,并通过Scan()方法获取结果。

sql_procedure := ` CREATE OR REPLACE PROCEDURE pro_test(a integer,inout b integer) as
                  begin
                      b := a+b;
                  end;`
stmt,err :=db.prepare(sql_procedure)
res,err := stmt.Exec()
var num string
err1 := db.QueryRow("call pro_test(1,5)").Scan($num)
fmt.Println(num)

下面的例子展示了如何调用函数。

sql_function := "CREATE OR REPLACE FUNCTION func_test (a int,out b int) RETURNS int AS
                $$
                begin
                    b := a+2;
                return ;
                end;
                $$ LANGUAGE 'plpgsql';"
stmt,err :=db.prepare(sql_function)
res,err := stmt.Exec()
var num string
err1 := db.QueryRow("select func_test(1)").Scan($num)
fmt.Println(num)