diff --git a/db/build.go b/db/build.go index 68d0f6c..7b765cc 100644 --- a/db/build.go +++ b/db/build.go @@ -10,6 +10,9 @@ import ( func (s *SqlBuilder[T]) buildSql() string { s.DeletePlaceholderSymbol() + if s.Driver == util.DriverOracle { + s.Sql = fmt.Sprintf("select t.*,rownum rn from (%s) t", s.Sql) + } return s.Sql } diff --git a/main_test.go b/main_test.go index 99cd60b..f2c15bf 100644 --- a/main_test.go +++ b/main_test.go @@ -65,7 +65,8 @@ func TestOracle(t *testing.T) { sqlb.InsertConditions("@c1", "area_dn like ?", "level1=1,level2=85226,level3=86918,level4=86919,level5=86986%") sqlb.InsertConditions("@c2", "autoseq in (?)", ids) page := Page{PageIndex: 1, PageSize: 10} - err = sqlb.PaginateBySql(&data, &page) + err = sqlb.FindBySql(&data) + fmt.Println(data) page.Data = &data fmt.Println(err, page) }