Команды show и set — это две команды, используемые для управления системными переменными SQL*Plus.
SQL> показать все — просмотреть все 68 значений системных переменных.
SQL> show user — отображает подключенного в данный момент пользователя.
SQL> показать ошибку -- показать ошибку
SQL> set heading off — Подавить вывод заголовков столбцов, значение по умолчанию — ON.
SQL> отключить обратную связь. Подавить отображение информации обратной связи по счетчику в последней строке. Значение по умолчанию: «Для 6 или более записей обратная связь включена».
SQL> set time on -- По умолчанию установлено значение OFF. Установите время запроса. Его можно использовать для оценки времени выполнения операторов SQL и проверки производительности.
SQL> set sqlprompt "SQL> " --Установите приглашение по умолчанию, значение по умолчанию — "SQL> "
SQL> set linesize 1000 -- Установите ширину линии экрана, по умолчанию 100.
SQL> set autocommit ON --Установить, следует ли выполнять автоматическую фиксацию, по умолчанию отключено.
SQL> установить паузу -- По умолчанию установлено значение ВЫКЛ. Установка паузы остановит отображение экрана и будет ждать нажатия клавиши ENTER перед отображением следующей страницы.
SQL> установить размер массива 1 — по умолчанию — 15
SQL> установить long 1000 -- по умолчанию 80
проиллюстрировать:
По умолчанию значение long равно 80. Значение 1000 предназначено для отображения большего количества контента, поскольку тип данных long используется во многих представлениях словаря данных, таких как:
SQL> описание user_views
Имя столбца, допускающее значение NULL, без типа
------------------------------- -------- ----
VIEW_NAME NOT NULL VARCHAR2(30)
TEXT_LENGTH НОМЕР
ТЕКСТ ДЛИННЫЙ
SQL> define a = '''20000101 12:01:01''' --Определите локальную переменную. Если вы хотите использовать константу, например возврат каретки, в различных дисплеях,
--Можно установить с помощью команды define
SQL> выберите &a из двойного;
Исходное значение 1: выберите &a из двойного
Новое значение 1: выберите «20000101 12:01:01» из двойного значения.
'2000010112:01:01
------------------
20000101 12:01:01
Задан вопрос:
1. Пользователю необходимо выполнить одну и ту же операцию SQL для каждой таблицы под пользователем базы данных. В настоящее время ввод оператора SQL снова и снова является очень трудоёмким методом реализации:
SQL> отключить заголовок -- Подавить вывод заголовков столбцов
SQL> отключить обратную связь -- Подавить отображение информации о количестве обратной связи в последней строке. Перечисляет определения всех синонимов текущего пользователя, которые можно использовать для проверки истинного существования синонимов.
выберите 'desc '||tname на вкладке, где tabtype='SYNONYM';
Запрос количества записей во всех таблицах под текущим пользователем
выберите 'select '''||tname||''',count(*) from '||tname||';' из вкладки, где tabtype='TABLE';
Предоставить разрешение выбора всем таблицам, которые соответствуют условиям как общедоступные.
выберите «разрешить выбор на «||table_name||» для публики;» из user_tables, где «Условия»;
Удаление различных объектов под пользователем
выберите 'удалить '||tabtype||' '||tname из вкладки;
Удаление квалифицированных пользователей
выберите «удалить пользователя» ||имя_пользователя||’ из всех_пользователей, где user_id>25;
Быстро скомпилировать все представления
----После заливки базы на новый сервер (реконструкции базы) необходимо перекомпилировать представление.
----Поскольку при подключении этого представления табличного пространства к таблицам в других табличных пространствах возникнут проблемы, для быстрой компиляции можно использовать языковые возможности PL/SQL.
SQL> SPOOL ON.SQL
SQL> SELECT'ALTER VIEW '||TNAME||' FROM TAB;
SQL> ВЫКЛ.
Затем выполните ON.SQL.
SQL> @ON.SQL
Конечно, авторизацию и создание синонимов можно сделать и быстро, например:
SQL> SELECT 'GRANT SELECT ON '||TNAME|| TO username;' FROM TAB;
SQL> SELECT 'СОЗДАТЬ СИНОНИМ '||TNAME||' ДЛЯ имени пользователя.'||TNAME||';' FROM TAB;
Список команд:
Предположим, что текущая команда выполнения: select * from tab;
(a)pend добавляет текст в конец текущей строки в буфере в порядке по tname. Результат: выберите * из порядка табуляции по tname;
(Примечание: после буквы a следуют 2 пробела)
(c)hange/old/new заменяет старый текст c/*/tname новым текстом в текущей строке. Результат: выберите tname на вкладке;
(c)hange/text удаляет текст c/tab из текущей строки. Результат: выберите tname from;
del удаляет текущую строку
del n удаляет строку n
(i)nput text добавляет строку после текущей строки
(l)ist отображает все строки в буфере
(l)ist n отображает n-ю строку в буфере
(l)ist mn отображает от m до n строк в буфере
run выполняет команду в текущем буфере
/Выполнить команду текущего буфера
r Выполнить команду текущего буфера
@filename запускает файл sql, загруженный в память, например:
SQL> редактировать s<Enter>
Если файл s.sql не существует в текущем каталоге, система автоматически создает файл s.sql.
Введите «выбрать * из вкладки;», сохраните и выйдите.
SQL> @s<Enter>
Система автоматически запросит все таблицы, представления и синонимы текущего пользователя.
@@Имя файла используется при вызове файла .sql в файле .sql.
Имя файла сохранения сохраняет команду в буфере в виде файла. Расширение файла по умолчанию — .sql.
получить имя файла, переданное в сохраненный файл sql
start filename запускает файл sql, загруженный в память
Имя файла буферизации «записывает» различные последующие операции и результаты выполнения в файл на диске. Расширение файла по умолчанию — .lst.
spool отображает текущий статус «spool»
Пример вывода:
SQL> катушка
SQL> катушка
Положительная перемотка на A.LST
SQL> отключить катушку
SQL> катушка
Катушек на данный момент нет
выход Выход SQL*PLUS
имя таблицы desc отображает структуру таблицы
show user отображает текущего подключенного пользователя
показать ошибку показать ошибку
показать все отображает все 68 значений системных переменных
Редактирование открывает редактор по умолчанию, которым в системах Windows является notepad.exe. Перенесите последний оператор SQL в буфере в файл afiedt.buf для редактирования.
edit filename передает файл .sql, указанный в текущем каталоге, в редактор для редактирования.
Очистить экран очищает текущий экран 2. Команда редактирования оператора Oracle sqlplus Сначала вводим такую инструкцию:
ВЫБЕРИТЕ emp_id, emp_name
ОТ сотрудников
Команда ввода может добавлять операторы после предыдущей инструкции. Например, после выполнения приведенного выше оператора введите:
введите ГДЕ emp_age > 30
Вы можете получить следующие инструкции:
ВЫБЕРИТЕ emp_id, emp_name
ОТ сотрудников
ГДЕ emp_age > 30
Команда ln используется для указания операции над введенным оператором n-й строки. Например, введите после выполнения приведенного выше оператора:
l1, текущая выбранная строка оператора
ВЫБЕРИТЕ emp_id, emp_name
(Отмечено знаком «*» перед оператором)
Команда a используется для добавления символов непосредственно в конец текущей строки. Например, введите после выполнения приведенного выше оператора:
а, emp_dept
Выполненная инструкция становится:
ВЫБЕРИТЕ emp_id, emp_name, emp_dept
ОТ сотрудников
ГДЕ emp_age > 30
Команда c используется для изменения символов в текущем операторе. Например, введите после выполнения приведенного выше оператора:
c /emp_name/emp_age/ тогда выполняемая команда будет выглядеть так:
ВЫБЕРИТЕ emp_id, emp_age, emp_dept
ОТ сотрудников
ГДЕ emp_age > 30
Команда del n используется для удаления n-й строки инструкций. Например, введите после выполнения приведенного выше оператора:
ДЕЛ 3
Выполненная инструкция становится:
ВЫБЕРИТЕ emp_id, emp_age, emp_dept
ОТ сотрудников
Эта статья взята из блога CSDN. При перепечатке указывайте источник: http://blog.csdn.net/myyuren/archive/2009/12/21/5046608.aspx.