diff --git a/Src/Asp.NetCore2/SqlSugar.OceanBaseForOracle/OceanBase/OceanBaseForOracleProvider.cs b/Src/Asp.NetCore2/SqlSugar.OceanBaseForOracle/OceanBase/OceanBaseForOracleProvider.cs index ec38e029f..78abe4638 100644 --- a/Src/Asp.NetCore2/SqlSugar.OceanBaseForOracle/OceanBase/OceanBaseForOracleProvider.cs +++ b/Src/Asp.NetCore2/SqlSugar.OceanBaseForOracle/OceanBase/OceanBaseForOracleProvider.cs @@ -222,6 +222,11 @@ namespace SqlSugar.OceanBaseForOracle orderParameters.Add(mP); } } + if (orderParameters.Select(it => it.ParameterName).GroupBy(it => it).Where(it => it.Count() > 1).Any()) + { + orderParameters= parameters.Where(it=>sql.Contains(it.ParameterName)) + .OrderBy(it => sql.IndexOf(it.ParameterName)).ToList(); + } foreach (var param in parameters.OrderByDescending(it => it.ParameterName.Length)) { sql = sql.Replace(param.ParameterName, "?");