Oracle 我面临着限制我的行数的问题

Oracle 我面临着限制我的行数的问题,oracle,plsql,Oracle,Plsql,我在这一行“仅获取下两行”上遇到错误。你能解释一下并给我正确的解决办法吗。我只想要从这开始的前两行 错误- 限制2; * 第9行错误: ORA-06550:第9行第5列: PL/SQL:ORA-00933:SQL命令未正确结束 ORA-06550:第3行第5列: PL/SQL:SQL语句被忽略尝试使用WHERE ROWNUM您遇到了什么错误?您运行的是哪个版本的Oracle?错误到底是什么?请现在查看。您似乎不在Oracle 12c版本中,您必须在此处使用ROWNUM概念。 DECLARE

我在这一行“仅获取下两行”上遇到错误。你能解释一下并给我正确的解决办法吗。我只想要从这开始的前两行

错误- 限制2; * 第9行错误: ORA-06550:第9行第5列: PL/SQL:ORA-00933:SQL命令未正确结束 ORA-06550:第3行第5列:
PL/SQL:SQL语句被忽略

尝试使用
WHERE ROWNUM您遇到了什么错误?您运行的是哪个版本的Oracle?错误到底是什么?请现在查看。您似乎不在Oracle 12c版本中,您必须在此处使用
ROWNUM
概念。
DECLARE
    cursor c is
    select book.bookid,book.title,publisher.publishername,
    author.firstname,author.lastname from book 
    inner join publisher on 
    book.publisherid  =publisher.publisherid
    inner join author on book.author_id=author.authorid
    order by book.title
    fetch next 2 rows only;
BEGIN
    dbms_output.put_line('BOOKID..TITLE..publisher..Author');
    for i in c
        loop
            dbms_output.put_line(i.bookid||'..'||substr(i.title,1,
            10)||'..'||i.publishername||'..'||i.firstname||' '||i.lastname);
        end loop;
end;
/
DECLARE
    CURSOR c IS
        SELECT *
          FROM (  SELECT book.bookid,
                         book.title,
                         publisher.publishername,
                         author.firstname,
                         author.lastname
                    FROM book
                         INNER JOIN publisher ON book.publisherid = publisher.publisherid
                         INNER JOIN author ON book.author_id = author.authorid
                ORDER BY book.title)
         WHERE ROWNUM <= 2;
BEGIN
    DBMS_OUTPUT.put_line ('BOOKID..TITLE..publisher..Author');

    FOR i IN c
    LOOP
        DBMS_OUTPUT.put_line (
               i.bookid
            || '..'
            || SUBSTR (i.title, 1, 10)
            || '..'
            || i.publishername
            || '..'
            || i.firstname
            || ' '
            || i.lastname);
    END LOOP;
END;
/