Есть ли эквивалент меньше для SQL * Plus? - PullRequest
2 голосов
/ 10 августа 2010

Иногда запрос по SQL * Plus может привести к слишком большому количеству строк, которые не помещаются на экране.

Есть ли какой-нибудь эквивалент механизма "потратить меньше / больше", который я могу использовать для навигации по результатам?

select * from emp | less

Ответы [ 2 ]

6 голосов
/ 10 августа 2010
1 голос
/ 10 августа 2010

Разве SQL * Plus не позволяет вам запускать его команды из оболочки? Прошло много времени с тех пор, как я его использовал, но я подумал, что так и было.

Я знаю, что с DB2 вы можете просто:

db2 'select * from sysibm.sysdummy1' | less

в командной строке, и пусть оболочка обрабатывает пейджинг.

Если нет, я бы просто создал скрипт sql++, например:

#!/usr/bin/bash
echo connect pax/diablo >/tmp/sql++.$$
echo "$@" >>/tmp/sql++.$$
sqlplus @/tmp/sql++.$$
rm -rf /tmp/sql++.$$

и используйте его:

sql++ 'select * from dual' | less

Таким образом, вы получаете полную мощность less подкачки, возможность прокрутки вверх и вниз, поиска и т. Д.

...