包
go get github.com/denisenkom/go-mssqldb
說明
- 例如有個叫proc的儲存過程,接收7個varchar引數,兩個傳出引數@on_return,@on_message.
- 這個包我看了一圈都不知道如何用簡便快捷的方法快速獲取返回值,所以才用了比較笨的方法,知道快速獲取的朋友,希望能告知。
實現
實現思路:拼接sql,返回結果集。
declare @p1 int set @p1=0 declare @p2 varchar(1024) set @p2='' exec proc N'1',N'2',N'3',N'4',N'5',N'6',N'7',@p1 output,@p2 output select @p1,@p2
golang實現
//引數拼接 params := fmt.Sprintf("N'%s',N'%s',N'%s',N'%s',N'%s',N'%s',N'%s'", "1","2","3","4","5","6","7") sqlRaw := ` declare @p1 int set @p1=0 declare @p2 varchar(1024) set @p2='' exec proc `+params+`,@p1 output,@p2 output select @p1,@p2 ` rows,err:=sqlServer.Query(sqlRaw) if err != nil { log.Fatal(err) } var onReturn int var onMessage string for rows.Next(){ rows.Scan(&onReturn,&onMessage) } rows.Close() log.Println(onReturn,onMessage)
ps:如果是返回結果集的儲存過程,直接Query('exce proc')即可,當做普通的查詢即可
本作品採用《CC 協議》,轉載必須註明作者和本文連結