Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция 1 - ОБЗОР баз данных Oracle.doc
Скачиваний:
96
Добавлен:
15.05.2015
Размер:
921 Кб
Скачать
☆

Другие команды sql*Plus, о которых следует знать

В оставшейся части этого обсуждения мы будем заниматься идентификацией других важных команд, которые вы должны знать в SQL*Plus как для своей работы, так и для сдачи экзамена ОСР. Давайте сейчас познакомимся с несколькими важными командами SQL*Plus, о которых вы должны знать.

DESCRIBE имя_ таблицы Эта команда возвращает описание имени таблицы, в том числе имена всех столбцов таблицы, тип данных каждого столбца и указание, могут ли в столбце содержаться значения NULL. Если вы столкнулись с ошибкой ORA-00904, эта команда используется для определения имен столбцов таблицы, на которую вы ссылаетесь. Синонимом команды служит ее сокращенное обозначение — desc. Вот пример использования команды;

SQL> describe emp

Name Null? Type

EMPNO HOT NULL NUMBER (4)

ENAME VARCHAR2UQ)

JOB VARCRAR2(9)

MGR NUMBER(4)

HIREDATE DATE

SAL NUMBER(7,2)

COMM NUMBER(7,2)

DEPTNO NUMBER (2)

LIST Эта команда используется для распечатки содержимого текущего рабочего буфера SQL*P!us, упорядоченного по номерам строк. SQL*Plus буферизу­ет последнюю заданную вами команду SQL. Если к моменту задания команды list вы еще не ввели ни одной команды SQL, будет выведено сообщение об ошибке SP2-0223: No lines in SQL buffer (в буфере SQL отсутствуют строки). Доступная для редактирования текущая строка буфера будет отмечена символом "звездочка" (*), следующим непосредственно за номером строки, как это показано в примере:

SQL> select empno, ename

  1. from emp

  2. where empno 7700;

EMPNO ENAME

7369 SMITH

749Э ALLEN

7521 WARD

7566 JONES

7654 MARTIN

7698 BLAKE 6 rows selected.

SQL>list

  1. select empno, ename

  2. from emp

3* where empno < 7700

DEL номер Эта команда удаляет из рабочего буфера SQL*Plus строку с указанным номером (а вовсе не указанное число строк!). Каждой строке в рабочем буфере предшествует номер строки, а в последней строке буфера сразу же за номером строки следует символ звездочки (*). Если необходимо удалить несколько строк, укажите их номера через пробел. Ниже приведен пример использования команды del.

SQL> del 3 SQL> list

1 select empno, ename

2* from emp

APPEND строка Эта команда добавляет специфицированную в команде строку в текущую строку. В строке разрешено иметь пробелы, а если в текущей строке уже имеется информация, то добавляемая строка должна начинаться с пробела. Текущая строка обозначается в выходных данных команды append звездочкой (*). Взгляните на следующую команду append для отображения информации текущей строки вместе с содержимым рабочего буфера: SQL*Plus:

SQL> append where empno < 7700

2* from emp where empno < 7700

CLEAR BUFFER Эта команда очищает содержимое буфера SQL*Plus. Вот пример использования команды clear buffer:

SQL> clear bufter

Buffer cleared

INPUT Если ввести ее в строке приглашения SQL, эта команда позволяет добавить содержимое в текущую строку буфера операций SQL* Plus. Если буфер был очищен, ввод начинается с первой строки. Если в буфере что-то было, ввод начнется с начальной позиции новой строки, которая будет помещена в конец буфера. Вот пример использования команды input:

SQL> input

  1. select ename, sal

  2. from emp

  1. where empno < 7600;

ENAME SAL

SMITH 800

ALtEN 1600

WARD 1250

JONES 2975

Совет Команда append имеет отличия от команды input, так. как первая позволяет указать строку, которую вы желаете пополнить информацией, в то время как вторая сама определяет, куда будет введена новая строка,

RUN Эта команда выполняет содержимое буфера SQL*Plus. Вот пример ее выполнения;

  1. select ename, sal

  2. from emp

3* where empno < 7600

ENAME SAL

SMITH 300

ALLEN 1600

WARD 1250

JONES 2975

номер строки Когда в SQL*Plus вводится номер, за которым следует строка символов, SQL*Plus добавляет в буфер операций специфицированную вами строку символов как строку с указанным номером. Если такой номер строки уже имеется, Oracle заменяет ее. Если указанный номер строки не является смежным с номерами имеющихся в буфере строк, SQL*Plus добавит строку как последнюю строку буфера. Взгляните на пример ее использования:

SQL> 6 new line being added

SQL> list

  1. select ename, sal

  2. from emp

3 where empno < 7600

4* new line being added

SQL> 2 from jason.emp

SQL> list

  1. select ename, sal

  2. from jason.emp

3 where empno < 7600 4* new line being added

SPOOL {имя_файла|ОКР|ОиТ} Эта команда записывает все выходные дан­ные, показанные в приведенном ниже издании команды spool filename, в текстовый файл, идентифицированный как имя_файла. Если не указано рас­ширение файла, SQL*Plus автоматически добавляет расширение . 1st. Если в команде указано ключевое слово off, спулинг (откачка) выходных данных SQL*Plus в выходной файл отключается. Рассмотрим пример:

SQL> spool jason.out

SQL> select enanie, sal

  1. from emp

  2. where ernpno < 7600;

ENAME SAL

SMITH 300

ALLEM 1600

WARD 1250

JOKES 2975

SQL> spool off

SQL> exit

C:\WINDOWS type jason.out

SQL> select enanie, sal

  1. from emp

  2. where empno < 7600;

ENAME SAL

SMITH SCO

ALLEN 1600

HARD 1250

JONES 2975 SQL> spool off

SAVE имя_файла Эта команда помещает содержимое буфера SQL*PIus в текстовый файл, который носит имя имя_файла. Если расширение файла не указано, SQL*Plus автоматически добавляет . sql.

EXIT Эта команда осуществляет выход из интерфейса SQL*Plus и возврат в операционную систему.

Совет Можно отметить, что возможность редактировать команды SQL, используя ваш любимый текстовый редактор, является удобной воз­можностью SQL*Plus, которая позволяет избежать изучения всех команд SQL*Plus. Тем не менее, перед тем как решитесь пойти сдавать экзамен ОСР, убедитесь, что вам понятны основы ввода SQL с использованием SQL*Plus.