updates delete query to work with MySql
This commit is contained in:
@@ -22,12 +22,23 @@
|
||||
/// <remarks>
|
||||
/// See: http://issues.umbraco.org/issue/U4-3876
|
||||
/// </remarks>
|
||||
public static Sql GetDeleteSubquery(this ISqlSyntaxProvider sqlProvider, string tableName, string columnName, Sql subQuery)
|
||||
public static Sql GetDeleteSubquery(this ISqlSyntaxProvider sqlProvider, string tableName, string columnName, Sql subQuery, WhereInType whereInType = WhereInType.In)
|
||||
{
|
||||
return new Sql(string.Format(@"DELETE FROM {0} WHERE {1} IN (SELECT {1} FROM ({2}) x)",
|
||||
|
||||
return
|
||||
new Sql(string.Format(
|
||||
whereInType == WhereInType.In
|
||||
? @"DELETE FROM {0} WHERE {1} IN (SELECT {1} FROM ({2}) x)"
|
||||
: @"DELETE FROM {0} WHERE {1} NOT IN (SELECT {1} FROM ({2}) x)",
|
||||
sqlProvider.GetQuotedTableName(tableName),
|
||||
sqlProvider.GetQuotedColumnName(columnName),
|
||||
subQuery.SQL), subQuery.Arguments);
|
||||
}
|
||||
}
|
||||
|
||||
internal enum WhereInType
|
||||
{
|
||||
In,
|
||||
NotIn
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user