我已经花了几个小时研究如何返回类似于SELECT TOP 100 * FROM CUSTOMER
、SELECT * FROM CUSTOMER LIMIT 100
或SELECT * FROM CUSTOMER WHERE ROWNUM <= 100
的有限行集,但就我而言,我找不到用这个特定数据库实现这一点的方法。
数据库版本是10.1.46,我找到了SQLBase的更高版本的文档,其中说Limit关键字是应该使用的,但当试图限制使用isql返回的行数时,什么都没有起作用。引发SQL Prepare错误。我不知道如何做到这一点,我开始认为数据库不支持限制返回的行数。
我希望有人知道我如何限制返回的记录数量。
就问题而言,limit
是使用会话参数在BaseSQL中实现的:
SET LIMIT 100
SELECT * FROM CUSTOMER;
SET LIMIT OFF
除了"LIMIT",您还可以在SQLTalk:中使用"PERFORM",然后使用"FETCH">
PREPARE SELECT * from CUSTOMER ORDER BY <column1> DESC;
PERFORM;
FETCH 100;
或者如果您正在使用TeamDeveloper、
简单地说:
SqlPrepareAndExecute( hSql, 'SELECT * from CUSTOMER ORDER BY <column1> DESC')
While nPtr < 101
Call SqlFetchNext(hSql,nReturn)
v11.7之后您可以使用以下语法:
SELECT * FROM CUSTOMER LIMIT 100
p.s.如果您需要任何版本v8到v12.2的SQLBase手册,请访问此处:SQLBase手册(所有版本(