code: func (d OracleDialect) InsertQueryToTarget(exec SqlExecutor, insertSql, idSql string, target interface{}, params ...interface{}) error {
  	_, err := exec.Exec(insertSql, params...)
  	if err != nil {
  		return err
  	}
  	id, err := exec.SelectInt(idSql)
  	if err != nil {
  		return err
  	}
  	switch target.(type) {
  	case *int64:
  		*(target.(*int64)) = id
  	case *int32:
  		*(target.(*int32)) = int32(id)
  	case int:
  		*(target.(*int)) = int(id)
  	default:
  		return fmt.Errorf("Id field can be int, int32 or int64")
  	}
  	return nil
  }
docs: // After executing the insert uses the ColMap IdQuery to get the generated id