调用存储过程与函数
在调用存储过程与函数时,也是基于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)