It would be great if Derby had TOP (as in SQL Server) and LIMIT (as in
MySql), because DataSet does not allow setMaxRows. TOP and LIMIT should
support variables:
@Select("SELECT TOP ?1 * FROM Users WHERE Pin IS NULL")
DataSet<Users> getWithoutPin(int top);
-- Harri
Tim Dudgeon wrote:
>
>
> Bernt M. Johnsen wrote:
>> Tim Dudgeon wrote:
>>>
>>> Yes, but is there an equivalent to the TOP or LIMIT keywords that other
>>> databases use?
>>
>> Not in SQL (neither in Derby nor the SQL standard).
>> The closest equivalent is Statement.setMaxRows(i).
>>
>
> So that would not be applied at the query level?
>
> Statement stmt = con.createStatement();
> stmt.setMaxRows(1);
> stmt.execute("SELECT * FROM a_very_large_table");
>
> would run very inefficiently?
> And how about
>
> SELECT * FROM a_very_large_table ORDER BY some_column ?
>
>
> using a SQL keyword like TOP or LIMIT presumably allows these to be
> optimised in some way, but stmt.setMaxRows(1) does not?
>
> Tim
>
>
>
|