From d9006ea43427896b3a2757e911fbda8b7c558bd7 Mon Sep 17 00:00:00 2001 From: sunkaixuna <610262374@qq.com> Date: Tue, 7 Dec 2021 17:21:07 +0800 Subject: [PATCH] Update Oracle bulkupdate --- .../SqlSugar/Abstract/DbMaintenanceProvider/Methods.cs | 9 +++++++++ .../SqlSeverTest/SqlSugar/Interface/IDbMaintenance.cs | 1 + .../Realization/Oracle/SqlBuilder/OracleFastBuilder.cs | 2 +- 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Abstract/DbMaintenanceProvider/Methods.cs b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Abstract/DbMaintenanceProvider/Methods.cs index d95d144e5..61ebe2602 100644 --- a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Abstract/DbMaintenanceProvider/Methods.cs +++ b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Abstract/DbMaintenanceProvider/Methods.cs @@ -184,6 +184,15 @@ namespace SqlSugar this.Context.Ado.ExecuteCommand(sql); return true; } + public bool AddPrimaryKeys(string tableName, string[] columnNames,string pkName) + { + tableName = this.SqlBuilder.GetTranslationTableName(tableName); + var columnName = string.Join(",", columnNames); + //var pkName = string.Format("PK_{0}_{1}", this.SqlBuilder.GetNoTranslationColumnName(tableName), columnName.Replace(",", "_")); + string sql = string.Format(this.AddPrimaryKeySql, tableName, pkName, columnName); + this.Context.Ado.ExecuteCommand(sql); + return true; + } public virtual bool AddColumn(string tableName, DbColumnInfo columnInfo) { tableName = this.SqlBuilder.GetTranslationTableName(tableName); diff --git a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Interface/IDbMaintenance.cs b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Interface/IDbMaintenance.cs index df81aa01c..b28ccd38a 100644 --- a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Interface/IDbMaintenance.cs +++ b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Interface/IDbMaintenance.cs @@ -37,6 +37,7 @@ namespace SqlSugar bool UpdateColumn(string tableName, DbColumnInfo column); bool AddPrimaryKey(string tableName,string columnName); bool AddPrimaryKeys(string tableName, string [] columnNames); + bool AddPrimaryKeys(string tableName, string[] columnNames,string pkName); bool DropConstraint(string tableName, string constraintName); bool BackupDataBase(string databaseName,string fullFileName); bool BackupTable(string oldTableName, string newTableName, int maxBackupDataRows = int.MaxValue); diff --git a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Realization/Oracle/SqlBuilder/OracleFastBuilder.cs b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Realization/Oracle/SqlBuilder/OracleFastBuilder.cs index 50d343c3e..578977a3e 100644 --- a/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Realization/Oracle/SqlBuilder/OracleFastBuilder.cs +++ b/Src/Asp.NetCore2/SqlSeverTest/SqlSugar/Realization/Oracle/SqlBuilder/OracleFastBuilder.cs @@ -27,7 +27,7 @@ namespace SqlSugar dt.TableName = "Temp" + SnowFlakeSingle.instance.getID().ToString(); var sql = this.Context.Queryable().AS(oldTableName).Where(it => false).Select("*").ToSql().Key; await this.Context.Ado.ExecuteCommandAsync($"create table {dt.TableName} as {sql} "); - this.Context.DbMaintenance.AddPrimaryKeys(dt.TableName, columns); + this.Context.DbMaintenance.AddPrimaryKeys(dt.TableName, columns,"Pk_"+ SnowFlakeSingle.instance.getID().ToString()); //var xxx = this.Context.Queryable().AS(dt.TableName).ToList(); } public override async Task UpdateByTempAsync(string tableName, string tempName, string[] updateColumns, string[] whereColumns)