Update Oracle bulkupdate

This commit is contained in:
sunkaixuna 2021-12-07 17:21:07 +08:00
parent dc2f09549b
commit d9006ea434
3 changed files with 11 additions and 1 deletions

View File

@ -184,6 +184,15 @@ namespace SqlSugar
this.Context.Ado.ExecuteCommand(sql); this.Context.Ado.ExecuteCommand(sql);
return true; 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) public virtual bool AddColumn(string tableName, DbColumnInfo columnInfo)
{ {
tableName = this.SqlBuilder.GetTranslationTableName(tableName); tableName = this.SqlBuilder.GetTranslationTableName(tableName);

View File

@ -37,6 +37,7 @@ namespace SqlSugar
bool UpdateColumn(string tableName, DbColumnInfo column); bool UpdateColumn(string tableName, DbColumnInfo column);
bool AddPrimaryKey(string tableName,string columnName); bool AddPrimaryKey(string tableName,string columnName);
bool AddPrimaryKeys(string tableName, string [] columnNames); bool AddPrimaryKeys(string tableName, string [] columnNames);
bool AddPrimaryKeys(string tableName, string[] columnNames,string pkName);
bool DropConstraint(string tableName, string constraintName); bool DropConstraint(string tableName, string constraintName);
bool BackupDataBase(string databaseName,string fullFileName); bool BackupDataBase(string databaseName,string fullFileName);
bool BackupTable(string oldTableName, string newTableName, int maxBackupDataRows = int.MaxValue); bool BackupTable(string oldTableName, string newTableName, int maxBackupDataRows = int.MaxValue);

View File

@ -27,7 +27,7 @@ namespace SqlSugar
dt.TableName = "Temp" + SnowFlakeSingle.instance.getID().ToString(); dt.TableName = "Temp" + SnowFlakeSingle.instance.getID().ToString();
var sql = this.Context.Queryable<T>().AS(oldTableName).Where(it => false).Select("*").ToSql().Key; var sql = this.Context.Queryable<T>().AS(oldTableName).Where(it => false).Select("*").ToSql().Key;
await this.Context.Ado.ExecuteCommandAsync($"create table {dt.TableName} as {sql} "); 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<T>().AS(dt.TableName).ToList(); //var xxx = this.Context.Queryable<T>().AS(dt.TableName).ToList();
} }
public override async Task<int> UpdateByTempAsync(string tableName, string tempName, string[] updateColumns, string[] whereColumns) public override async Task<int> UpdateByTempAsync(string tableName, string tempName, string[] updateColumns, string[] whereColumns)