I’m trying to execute query with passed parameter from code inside sql statment of select.
var insertSql =
@"INSERT INTO TABLE(ID,
GUID,
CUSTOM_COL)
select NH_SEQUENCE.NEXTVAL,
sys_guid(),
:customValueFromCode
FROM TABLE WHERE FILTER= :filterId";
using (var insertCommand = new OracleCommand(insertSql, connection))
{
insertCommand.Transaction = trans;
insertCommand.CommandType = CommandType.Text;
insertCommand.Parameters.Add("customValueFromCodeId", OracleDbType.Long).Value = customValueFromCodeId;
insertCommand.Parameters.Add("filterId", OracleDbType.Int64).Value = filterId;
insertCommand.ExecuteNonQuery();
}
It doesn’t work but if I ,,hardcode” it inside sql like that:
var insertSql =
@"INSERT INTO TABLE(ID,
GUID,
CUSTOM_COL)
select NH_SEQUENCE.NEXTVAL,
sys_guid(),
1
FROM TABLE WHERE FILTER= :filterId";
using (var insertCommand = new OracleCommand(insertSql, connection))
{
insertCommand.Transaction = trans;
insertCommand.CommandType = CommandType.Text;
insertCommand.Parameters.Add("filterId", OracleDbType.Int64).Value = filterId;
insertCommand.ExecuteNonQuery();
}
Then entire query works as expected.