SQL*PLUS Version 3.0 Quick Reference Краткий справочник по SQL*PLUS -- 1 -- В данном справочнике приволится синтаксис по всем командам SQL*PLUS. За более подробной информацией по каждой команде SQL*PLUS обращайтесь к "Руковдство и Справочник пользователя по SQL*PLUS". Соглашения по обозначениям. Следующие две таблицы показывают соглашения, которые приняты для данного документа при описании синтаксиса команд. Команды, Термины и Фразы. Признак Пример Объяснение ───────────────────────────────────────────────────────────────────────────── Верхний регистр, BTITLE Введите текст так, как написано; необязательно выделено на верхнем регистре. Нижний регистр колонка Значение фразы; подставьте соответствующее значение. Специальное c Единичный символ. слово char CHAR-значение -литерал в единичных кавычках или выражение типа CHAR. d или e Дата или выражение типа дата. expr Выражение неопределенного типа. m или n Число или выражение типа NUMBER (числовое). текст Символьная (CHAR) константа в или без одиночных кавычек. переменная Переменная пользователя (если нет ссылки на другой тип переменной). Другие слова объясняются там, где они используются. Пунктуация Признак Пример Объяснение ───────────────────────────────────────────────────────────────────────────── Вертикальная | Разделяет альтернативные синтаксические черта элементы скобки [OFF | ON] Один или более необязательных параметров. Если два элемента разделены |, вводите один из них. Не следует вводить скобки и символ |. фигурные скобки {OFF | ON} Альтернативные обязательные параметры; введите один из указанных параметров. Не следует вводить скобки и символ |. подчеркивание {OFF | ON} Значение по умолчанию; если вы ничего не введете, SQL*PLUS подразумевает данное значение. три точки n,n,... Предшествующий элемент(ы) может повторяться несколько раз. Запуск и Выход из SQL*PLUS ───────────────────────── Используйте следующие команды для регистрации и выхода из SQL*PLUS. -- 2 -- SQLPLUS [[-S[ILENT]] [logon] [start] | -?] Запуск SQL*PLUS из оперционной системы. logon Вводится в следующем формате: имя_пользователя[/пароль][@спецификация_базы] | / | /NOLOG start Вводится в следующем формате: @имя_файла[.ext] [арг1 арг2 ...] {EXIT | QUIT} [SUCCESS | FAILURE | WARNING| n | переменная] Производит все отложенные изменения, завершает SQL*PLUS, возвращает управление операционной системе. Ввод и Выполнение команд Используйте следующие команды для выполнения и сбора временной статистики по командам SQL блокам PL/SQL. / (наклонная черта) Выполняет сохраненную команду SQL или блок PL/SQL из текущего SQL-буффера. Сама команда не выводится. R[UN] Выводит и выполняет сохраненную команду SQL или блок PL/SQL из текущего SQL-буффера. TIMI[NG] [START текст | SHOW | STOP] Записывает временные данные об общем времени выполнения, показывает заголовок текущей временной области и ее данные или показывает число активных временных областей. Используйте следующую команду для выполнения команд операционной системы. HO[ST] [команда] Выполняет команду операционной системы без выхода из SQL*PLUS. Замечание: В некоторых операционных системах можно использовать "$" или другой символ вместо host. Смотри руководство по установке ORACLE для вашей операционной системы. Используйте следующую команду для запуска формы SQL*Forms из SQL*PLUS. RUNFORM [опции] имя_формы Вызывает приложение SQL*Forms из SQL*PLUS. Использование команд SQL, SQL*PLUS, PL/SQL. Используйте следующие команды для редактирования команд SQL и блоков PL/SQL. A[PPEND] текст Добавляет указанный текст в конец текущей строки буффера. Для вставки пробела между текстом и предшествующими символами, введите два пробела -- 3 -- между APPEND и текстом. Чтобы добавить текст оканчивающийся точкой с запятой, закончите команду двумя точками с запятой (SQL*PLUS интерпретирует одну точку с запятой как признак окончания команды). C[HANGE] разделитель старое [разделитель [новое [разделитель]]] Изменяет текст текущей строки буффера. Вы можете использовать любой неалфавитно-цифровой символ такой как "/" или "!" в качестве разделителя. Можно опускать пробел между CHANGE и первым разделителем. DEL Удаляет первую текущую строку буффера. I[NPUT] [текст] Добавляет одну или более строк текста после текущей буфферной строки. L[IST] [n | n m | n * | n LAST | * | * n | * LAST | LAST] Выводит одну или более строк буффера ("*" помечает текущую строку). Можно опускать пробел между LIST и n или *, но нельзя между LIST и LAST. Чтобы вывести на экран весь буффер, введите LIST без параметров. Используйте следующие команды для создания и исправления командных файлов. @ имя_файла[.ext] Выполняет указанный командный файл. EDIT [имя_файла[.ext]] Вызывает текстовый редактор операционной системы для корректировки указанного файла или содержимого текущего буффера. Чтобы откорректировать содержимое буффера, опустите имя файла. GET имя_файла[.ext] [LIS[T] | NOL[IST]] Загружает файл операционной системы в буффер. REM[ARK] Начинает комментарий в командном файле. Команда REMARK помещается в начало строки, и комментарий заканчивается концом строки (строка не может содержать одновременно и комментарий и команду). SQL*PLUS не интерпретирует комментарий как команду. SAV[E] имя_файла[.ext] [CRE[ATE] | REP[LACE] | APP[END]] Сохраняет содержимое буффера в файл операционной системы (командныйфайл). STA[RT] имя_файла[.ext] [арг1 арг2 ...] Выполняет указанный командный файл. Заданные аргументы подставляются вместо &1, &2, и т.д., только для данного запуска. WHENEVER SQLERROR {EXIT [SUCCESS | FAILURE | WARNING | n | переменная] | CONTINUE} Выходит из SQL*PLUS, если команда SQL или блок PL/SQL генерирует ошибку. -- 4 -- Используйте следующие команды при написании интерактивных команд. ACC[EPT] переменная [NUM[BER] | CHAR] [PROMPT текст | NOPR[OMPT]] [HIDE] Читает строку с устройства ввода и запоминает их в переменную пользователя. DEF[INE] [переменная] | [переменная = текст] Определяет переменную пользователя и присваивает ей CHAR-значение. Или,выводит значение и тип одной или всех переменных. PAU[SE] [текст] Выводит пустую строку и строку с текстом, затем ожидает нажатия пользователем [Return]. Или, выводит две пустых строки и ожидает отклика пользователя. PROMPT текст Посылает указанное сообщение или пустую строку на экран пользователя. UNDEF[INE] переменная Удаляет переменную пользователя, которую вы определили явно (командой DEFINE) или неявно (аргументами команды START). Используйте следующие символы для создания подстановочных переменных и параметров в командных файлах. &n Определяет параметр в командном файле, который вы выполняете использую команду START. START подставляет значения, которые вы задали после имени командного файла: &1 первый, &2 второй и т.д. &переменная_пользователя Указывает подстановочную переменную в команде &&переменная_пользователя SQL или SQL*PLUS. SQL*PLUS подставляет значение указанной переменной пользователя для каждой обнаруженной им подстановочной переменной. Если переменная пользователя не определена, SQL*PLUS всегда будет просить вас ввести значение для переменной типа "&", и только один раз для переменной типа "&&". .(точка) Используется для разделения имени подстановочной переменной и последующих символов, которые иначе воспринимались бы как продолжение данного имени. Форматирование результатов запросов Используйте следующие команды при форматировании, сохранении и печати результатов ваших запросов. BRE[AK] [ON элемент_отчета [действие [действие]]] ... Определяет где и как форматирование будет изменять отчет (например, пропуск строки при смене значения в столбце). Введите BREAK без параметров, чтобы вывести текущие BREAK-описания. -- 5 -- элемент_отчета Вводится в следующей форме:{ колонка|выражение|ROW | REPORT} действие Вводится в следующей форме:[SKI[P] n | [SKI[P] PAGE] [NODUP[LICATES] | DUP[LICATES]] BTI[TLE] [printspec [текст | переменная] ...] | [OFF | ON] Помещает и форматирует указанный заголовок внизу каждой страницы отчета, или выводит текущее описание BTITLE. Описание фразы printspec смотри в TTITLE. CL[EAR] опция Сбрасывает или очищает текущее значение или установку для указанной опции; опция - это одна из следующих фраз: BRE[AKS] BUFF[ER] COL[UMNS] COMP[UTES] SCR[EEN] SQL TIMI[NG] COL[UMN] [{колонка | выражение} [опция ...]] Определяет атрибуты вывода для указанной колонки, такие как текст заголовка колонки или формат вывода символьных и числовых данных; опция может быть одной из следующих фраз: ALI[AS] алиас CLE[AR] | DEF[AULT] COLOR {цвет | переменная_цвета} FOLD_A[FTER] n FOLD_B[EFORE] n FOR[MAT] формат HEA[DING] текст JUS[TIFY] {L[EFT] | C[ENTER] | C[ENTRE] | R[IGHT]} LIKE {выражение | алиас} LINEAPP {LINE | MARK | BOTH} NEWL[INE] NEW_V[ALUE] переменная NOPRI[NT] | PRI[NT] NUL[L] символ OLD_V[ALUE] переменная ON | OFF PATTERN {pattern_number | pattern_variable} WRA[PPED] | WOR[D_WRAPPED] | TRU[NCATED] Чтобы посмотреть атрибуты вывода колонки или выражения, введите команду COLUMN с именем колонки или выражения без параметров. Чтобы посмотреть атрибуты вывода всех колонок, введите команду COLUMN без параметров. Для задания формата вывода колонки, введите FORMAT и элемент формата. Чтобы изменить ширину CHAR или LONG колонки на n символов, используйте FORMAT An. Для изменения формата вывода NUMBER-колонки, используйте FORMAT с одним из следующих элементов таблицы: Элемент Пример Описание ─────────────────────────────────────────────────────────────────────── 9 9999 Задает ширину вывода числа -- 6 -- 0 0999 Выводит ведущие нули 9990 Выводит ноль вместо пробела, когда число равнонулю. $ $9999 Перед числом выводит знак доллара. В В9999 Выводит нулевое значение как пробел. MI 9999MI Выводит "-" после отридцательного числа. PR 9999PR Выводит отридцательное число в угловых скобках. запятая9,999 Выводит запятую в указанной позиции. точка 99.99 Ставит десятичную точку в данной позиции. V 999V99 Умножает значение на 10SnT, где n- это количество "9" после "V". ЕЕЕЕ9.999ЕЕЕЕ Выводит в экспоненциальном формате (формат должен содержать четыре "E"). DATE DATE Выводит значение как дату в формате MM/DD/YY; используйте для форматирования NUMBER-колонок содержащих Юлианские даты. COMP[UTE] [функция ... OF {выражение | колонка | алиас} ... ON {выражение | колонка | алиас | REPORT | ROW}] Вычисляет и печатает итоговые строки, используя стандартные вычисления над подмножеством выбранных записей. Или, выводит все определения COMPUTE. В следующей таблице приводится список допустимых функций. Все функции ожидают NUMBER, и работают только с ненулевыми значениями. Функция Вычисление Возможные типыданных ───────────────────────────────────────────────────────────── AVG Среднее значение NUMBER COU[NT] Счетчик значений все типы MAX[IMUM] Максимальное значение NUMBER, CHAR MIN[IMUM] Минимальное значение NUMBER, CHAR NUM[BER] Подсчет строк (все строки)все типы STD Среднеквадратичное отклонениеNUMBER SUM Сумма значений NUMBER VAR[IANCE] Дисперсия значений NUMBER SPO[OL] [имя_файла[.ext] | OFF | OUT] Сохраняет результаты запросов в файле операционной системы, и, обычно, посылает файл на принтер. OFF прекращает буфферизацию. OUT прекращает буфферизацию и посылает файл на стардтный (по умолчанию) принтер. Чтобы вывести текущее состояние буфферизации, введите SPOOL без параметров. TTI[TLE] [printspec [текст | переменная] ...] | [OFF | ON] Помещает и форматирует указанный заголовок вверху каждой страницы отчета, или выводит текущее описание TTITLE. Используйте во фразе printspec следующие элементы: COL n S[KIP] [n] TAB n LE[FT] CE[NTER] -- 7 -- R[IGHT] BOLD FORMAT символ Доступ к Базам Данных Используйте следующие команды для доступа и копирования данных между таблицами различных БД. CONN[ECT] [имя_пользователя[/пароль][@спецификация_бд] | /] Подключает указанного пользователя к ORACLE. Если вы опуститеспецифика- ция_бд, вы подключитесь к БД по умолчанию. Если вы опустите имя_пользо- вателя и/или пароль, вас попросят их ввести. CONNECT с наклонной чертой (/), подключит вас использую регистрацию по умолчанию (ops$). DISC[ONNECT] Проводит все отложенные изменения в базе данных и отключает текущего пользователя от ORACLE, но не покидает SQL*PLUS. COPY [FROM имя_пользователя[/пароль][@спецификация_бд]] [TO имя_пользователя[/пароль][@спецификация_бд]] {APPEND | CREATE | INSERT | REPLACE} целевая_таблица [(колонка, колонка ...) USING запрос Копирует данные из одной БД ORACLE в таблицу другой БД. APPEND, CREATE, INSERT, REPLACE указывают, как производится копирование, если целевая таблица уже существует. Использование запроса (USING) для таблицы-источника, определяет копируемые из нее колонки и строки. Дополнительные Команды DESC[RIBE] [пользователь.]объект[@имя_связи_с_бд] Выводит определения колонок для указанной таблицы, виртуальной таблицы или синонима. SET системная_переменная значение Настраивает среду SQL*PLUS для текущего сеанса, например: установка ширины вывода числовых данных или количество строк на странице. Ниже приведены системные переменные и их значения: ARRAY[SIZE] {20 | n} AUTO[COMMIT] {OFF | ON | IMM[EDIATE]} BLO[CKTERMINATOR] {. | c} CMDS[EP] {; | c | OFF | ON} COM[PATIBILITY] {V5 | V6} CON[CAT] {. | c | OFF | ON} COPYC[OMMIT] {0 | n} CRT crt DEF[INE] {& | c | OFF | ON} ECHO {OFF | ON} EMBEDDED {OFF | ON} ESC[APE] {\ | c | OFF | ON} FEED[BACK] {6 | n | OFF | ON} FLU[SH] { OFF | ON} HEA[DING] {OFF | ON} -- 8 -- HEADS[EP] {| | c | OFF | ON} LIN[ESIZE] {80 | n} LONG {80 | n} MAXD[ATA] n NEWP[AGE] {1 | n} NULL текст NUMF[ORMAT] формат NUM[WIDTH] {10 | n} PAGES[IZE] {14 | n} PAU[SE] {OFF | ON | текст} RECSEP {WR[APPED] | EA[CH] | OFF} RECSEPCHAR {_ | c} SCAN {OFF | ON} SHOW[MODE] {OFF | ON} SPA[CE] {1 | n} SQLC[ASE] {MIX[ED] | LO[WER] | UP[PER]} SQLCO[NTINUE] {> | текст} SQLN[UMBER] {OFF | ON} SQLPRE[FIX] {# | c} SQLP[ROMPT] {SQL> | текст} SQLT[ERMINATOR] {; | c | OFF | ON} SUF[FIX] {SQL | текст} TAB {OFF | ON} TERM[OUT] {OFF | ON} TI[ME] {OFF | ON} TIMI[NG] {OFF | ON} TRIM[OUT] {OFF | ON} UND[ERLINE] {- | c | ON | OFF} VER[IFY] {OFF | ON} WRA[P] {OFF | ON} SHO[W] [опция] Выводит значение системной переменной SQL*PLUS-а. В качестве опции используйте один из следующих терминов: системная_переменная ALL BTI[TLE] LNO PNO REL[EASE] SPOO[L] SQLCODE TTI[TLE] USER Введите любую системную переменную, установленную командой SET вместо опции "системная_переменная". SQL*PLUS Quick Reference Version 3.0 Part No.3703-V3.0 April 1990 -- 9 --