Update into table

This commit is contained in:
sunkaixuan 2023-05-14 12:05:14 +08:00
parent 4ebef7ed20
commit 2c041e70e1

View File

@ -776,6 +776,21 @@ namespace SqlSugar
var sqlInfo = this.ToSql(); var sqlInfo = this.ToSql();
var name = this.SqlBuilder.GetTranslationTableName(TableName); var name = this.SqlBuilder.GetTranslationTableName(TableName);
var columns = ""; var columns = "";
var sql = "";
var isSqlFunc = this.QueryBuilder.GetSelectValue?.Contains(")") == true && this.QueryBuilder.SelectValue is Expression;
if (isSqlFunc)
{
columns = "(";
foreach (var item in ExpressionTool.GetNewExpressionItemList((Expression)this.QueryBuilder.SelectValue))
{
var column = item.Key;
columns += $"{column},";
}
columns = columns.TrimEnd(',') + ")";
sql = $" INSERT INTO {name} {columns} " + sqlInfo.Key;
}
else
{
if (this.QueryBuilder.GetSelectValue != null && this.QueryBuilder.GetSelectValue.Contains(",")) ; if (this.QueryBuilder.GetSelectValue != null && this.QueryBuilder.GetSelectValue.Contains(",")) ;
{ {
columns = "("; columns = "(";
@ -786,7 +801,8 @@ namespace SqlSugar
} }
columns = columns.TrimEnd(',') + ")"; columns = columns.TrimEnd(',') + ")";
} }
var sql = $" INSERT INTO {name} {columns} " + sqlInfo.Key; sql = $" INSERT INTO {name} {columns} " + sqlInfo.Key;
}
return this.Context.Ado.ExecuteCommand(sql, sqlInfo.Value); return this.Context.Ado.ExecuteCommand(sql, sqlInfo.Value);
} }