@@ -25,7 +25,12 @@ function RemoveQuery(Dialect, opts) {
2525 build : function ( ) {
2626 var query = [ ] , tmp ;
2727
28- query . push ( "DELETE FROM" ) ;
28+ // limit as: SELECT TOP n (MSSQL only)
29+ if ( Dialect . limitAsTop && sql . hasOwnProperty ( "limit" ) ) {
30+ query . push ( "DELETE TOP " + sql . limit + " FROM" ) ;
31+ } else {
32+ query . push ( "DELETE FROM" ) ;
33+ }
2934 query . push ( Dialect . escapeId ( sql . table ) ) ;
3035
3136 query = query . concat ( Where . build ( Dialect , sql . where , opts ) ) ;
@@ -46,15 +51,17 @@ function RemoveQuery(Dialect, opts) {
4651 }
4752 }
4853
49- // limit
50- if ( sql . hasOwnProperty ( "limit" ) ) {
51- if ( sql . hasOwnProperty ( "offset" ) ) {
52- query . push ( "LIMIT " + sql . limit + " OFFSET " + sql . offset ) ;
53- } else {
54- query . push ( "LIMIT " + sql . limit ) ;
54+ // limit for all Dialects but MSSQL
55+ if ( ! Dialect . limitAsTop ) {
56+ if ( sql . hasOwnProperty ( "limit" ) ) {
57+ if ( sql . hasOwnProperty ( "offset" ) ) {
58+ query . push ( "LIMIT " + sql . limit + " OFFSET " + sql . offset ) ;
59+ } else {
60+ query . push ( "LIMIT " + sql . limit ) ;
61+ }
62+ } else if ( sql . hasOwnProperty ( "offset" ) ) {
63+ query . push ( "OFFSET " + sql . offset ) ;
5564 }
56- } else if ( sql . hasOwnProperty ( "offset" ) ) {
57- query . push ( "OFFSET " + sql . offset ) ;
5865 }
5966
6067 return query . join ( " " ) ;
0 commit comments