oracle - 使用 Oracle 使用 INSERT 查询返回值

标签 oracle go

如何在 EXE 语句中传递绑定(bind)参数值?

例如-

actualvalue = append(actualvalue, 1) 
actualvalue = append(actualvalue, 2) 
actualvalue = append(actualvalue, 3)

query = “insert into table (a,b,c) values (:a,:b,:c) returning primarykey, secondarykey into :primarykey,:secondarykey” 

stmtIns, err := dbConnImbl.Prep(query) 
if err != nil { fmt.Println("Second Method Error 22====>> ",err) } 
var id uint64 
var id2 uint64 
rowsAffected, err := stmtIns.Exe(actualvalue…, &id,&id2)//.Scan(&id,&id2) 
if err != nil { fmt.Println("Error Cluses " , err) }

突出显示的行不起作用。

最佳答案

在对可变参数函数的调用中,您不能在 ... 之后传递额外的参数,因此您还需要将 id 指针附加到 actualvalue slice 。

var actualvalue []interface{}
var id uint64 
var id2 uint64 

actualvalue = append(actualvalue, 1) 
actualvalue = append(actualvalue, 2) 
actualvalue = append(actualvalue, 3)
actualvalue = append(actualvalue, &id)
actualvalue = append(actualvalue, &id2)

query = "insert into table (a,b,c) values (:a,:b,:c) returning primarykey, secondarykey into :primarykey,:secondarykey"

stmtIns, err := dbConnImbl.Prep(query) 
if err != nil { fmt.Println("Second Method Error 22====>> ",err) } 

rowsAffected, err := stmtIns.Exe(actualvalue...)
if err != nil { fmt.Println("Error Cluses " , err) }

关于oracle - 使用 Oracle 使用 INSERT 查询返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55358159/

相关文章:

Oracle Alter命令重命名现有列错误环

go - 返回字符串作为模板

api - 如何在Golang中指定Docker API设置?

sql - Oracle如何将多行合并为单行

sql - 包含 View 的模式可视化工具(适用于 Oracle)

sql - 删除数据库中除oracle前两行以外的所有行

sql - Oracle:什么时候检查约束?

golang 下载文件而不是 html 页面

go - 如果停止,如何自动重启 go web 服务器

performance - 一种功能切换类型与多种类型的功能