什么是sqlplus报告的一页

what is a page of sqlplus report

我们可以使用 set pagesize 来控制页面中可以显示多少行。但是我找不到一个页面的定义。我的意思是我不知道一个页面从哪一行开始到哪一行结束。

例如:

SQL> sho pages
pagesize 14
SQL> select empno,ename from emp;

     EMPNO ENAME
 ---------- ----------
     7369 SMITH
     7499 ALLEN
     7521 WARD
     7566 JONES
     7654 MARTIN
     7698 BLAKE
     7782 CLARK
     7788 SCOTT
     7839 KING
     7844 TURNER
     7876 ADAMS

     EMPNO ENAME
---------- ----------
     7900 JAMES
     7902 FORD
     7934 MILLER

14 rows selected.    

a 页面是否以第一个空行开头?

默认情况下,页面以空行开头。这是由 newpage 设置控制的:

SET NEWP[AGE] {1 | n | NONE}

Sets the number of blank lines to be printed from the top of each page to the top title. A value of zero places a formfeed at the beginning of each page (including the first page) and clears the screen on most terminals. If you set NEWPAGE to NONE, SQL*Plus does not print a blank line or formfeed between the report pages.

如果您更改它的默认值 1,您将看到空白行数发生变化。如果你将它设置为零,那么如果你的终端支持它,你将分别看到每一页的输出(打开 pause 时更明显),如果你假脱机输出,你还会看到一个换页符(^L)在输出文件中。

您还可以看到空白行位于页面的开头(而不是结尾)pause,其中 "pauses output at the beginning of each PAGESIZE number of lines":

SQL > set pause "-- start of page --"
SQL > set pause on
SQL > set newpage 2
SQL > select object_name from all_objects where object_name like 'ALL%';
-- start of page --

终端暂停,不显示任何输出。如果你点击 return 你会看到整个第一页,包括前导的两个空行(重复命令并首先暂停上下文):

SQL > select object_name from all_objects where object_name like 'ALL%';
-- start of page --


OBJECT_NAME
------------------------------
ALL_XML_SCHEMAS
ALL_XML_SCHEMAS2
ALL_CONS_COLUMNS
ALL_CONS_COLUMNS
ALL_LOG_GROUP_COLUMNS
ALL_LOG_GROUP_COLUMNS
ALL_LOBS
ALL_LOBS
ALL_CATALOG
ALL_CATALOG
ALL_CLUSTERS
ALL_CLUSTERS
ALL_COL_COMMENTS
ALL_COL_COMMENTS
ALL_COL_PRIVS
ALL_COL_PRIVS
ALL_COL_PRIVS_MADE
ALL_COL_PRIVS_MADE
ALL_COL_PRIVS_RECD
-- start of page --

现在在显示第二页结果之前暂停,并且没有显示第二页的两个空行。

Read more about page dimensions.