使用Oracle使用INSERT查询返回值

How do I pass bind params values in EXE statement?

Eg -

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) }

the highlighted line is not working.

In a call to a variadic function you cannot pass additional arguments after ... so you need to append the id pointers to the actualvalue slice as well.

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) }