I have sql query that needs variable substitution for better consumption of my go-kit service.
I have dep & org as user inputs which are part of my rest service, for instance: dep = 'abc' and org = 'def'.
I've tried few things like:
rows, err := db.Query(
"select name from table where department='&dep' and organisation='&org'",
)
And:
rows, err := db.Query(
"select name from table where department=? and organisation=?", dep , org,
)
That led to error: sql: statement expects 0 inputs; got 2
Only hard-coded values work and substitution fails .
I haven't found much help from oracle blogs regarding this and wondering if there is any way to approach this.
db.Query()ordb.Prepare()withstmt.Exec(). Butdb.Query()does not return only error, whats is your driver? Please, complete with a sample of code withdbvariable creation. Reference: golang.org/pkg/database/sql/#DB.Query:N(github.com/mattn/go-oci8/blob/master/oci8Sql_test.go#L1149) whereNis the position of the parameter. So in your case something like this should work:db.Query("select name from table where department = :1 and organisation = :2", dep, org)