- •Обзор баз данных Oracle
- •Обзор Oracle
- •Теоретические и физические аспекты реляционных баз данных
- •Рсубд против систем плоских файлов: быстрое ознакомление
- •Закрепление пройденного материала
- •Упражнения
- •Реализации рсубд и орсубд Oracle
- •Дисковые компоненты Oracle
- •Что такое орсубд
- •Закрепление пройденного материала
- •Упражнения
- •Процесс сервера и фоновые процессы Oracle
- •Использование и преимущества pl/sql
- •Закрепление пройденного материала
- •Упражнения
- •Написание основных операторов sql
- •Возможности операторов sql select
- •Познакомьтесь: sql* Plus
- •Закрепление пройденного материала
- •Упражнения
- •Выполнение операторов select
- •Задание префиксов столбцам по имени таблицы
- •Арифметические данные и данные из таблиц
- •Старшинство операторов
- •Обработка значений null
- •Замена заголовков столбцов псевдонимами
- •Объединение столбцов с помощью конкатенации
- •Закрепление пройденного материала
- •Упражнения
- •Различия между командами sql и sql*Plus
- •Использование текстового редактора
- •Запись команд sql в сценариях
- •Другие команды sql*Plus, о которых следует знать
- •Закрепление пройденного материала
- •Упражнения
- •Резюме Обзора баз данных Oracle
- •Двухминутное погружение в пройденное
- •Вопросы для самопроверки
- •Вопросы ко всей теме
Другие команды 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
from emp
where empno 7700;
EMPNO ENAME
7369 SMITH
749Э ALLEN
7521 WARD
7566 JONES
7654 MARTIN
7698 BLAKE 6 rows selected.
SQL>list
select empno, ename
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
select ename, sal
from emp
where empno < 7600;
ENAME SAL
SMITH 800
ALtEN 1600
WARD 1250
JONES 2975
Совет Команда append имеет отличия от команды input, так. как первая позволяет указать строку, которую вы желаете пополнить информацией, в то время как вторая сама определяет, куда будет введена новая строка,
RUN Эта команда выполняет содержимое буфера SQL*Plus. Вот пример ее выполнения;
select ename, sal
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
select ename, sal
from emp
3 where empno < 7600
4* new line being added
SQL> 2 from jason.emp
SQL> list
select ename, sal
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
from emp
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
from emp
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.
