WWW.BOOK.LIB-I.RU
БЕСПЛАТНАЯ  ИНТЕРНЕТ  БИБЛИОТЕКА - Электронные ресурсы
 
s

Pages:     | 1 ||

«Базы данных и клиент-серверные системы Интернет-издание 27.01.2001 SQL PL/SQL, SQL*Plus Справочник Свободное интернет-издание ...»

-- [ Страница 2 ] --

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

Чтобы добавить к подстанавливаемому значению какие-нибудь символы, надо написать их сразу после имени переменной, отделив их точкой.

Например: SQL SELECT * FROM EMP WHERE EMPNO=’&E.01’;

Введите значение для E: 123 воспринимается как SQL SELECT * FROM EMP WHERE EMPNO=’12301’;

символы & и && ( Подстановка ) Если перед именем переменной стоит только один амперсанд, то SQL*Plus не станет описывать ее неявной командой DEFINE.

Это значит, что встретив снова подстановку этой переменной, (в другой команде или при повторном выполнении данной) SQL*Plus заново попросит ввести ее значение.

Если перед именем переменной поставить два амперсанда, то после ввода значения она будет автоматически описана командой DEFINE и повторный ввод значения не потребуется.

Например: В командном файле STATS (выполняющем некоторые статистические вычисления) записано следующее:

SELECT &&GROUP_COL, MAX(&&NUMBER_COL) MAXIMUM, MIN(&&NUMBER_COL) MINIMUM, SUM(&&NUMBER_COL) TOTAL, AVG(&&NUMBER_COL) AVERAGE FROM &TABLE GROUP BY &&GROUP_COL;

При запуске этого файла SQL*Plus до начала выполнения файла запросит значения переменных:

Введите значение для group_col: PROJNO Введите значение для number_col: SAL Введите значение для table: EMP

Затем SQL*Plus выполнит следующий запрос:

SELECT PROJNO, MAX(SAL) MAXIMUM, MIN(SAL) MINIMUM, SUM(*SAL) TOTAL, AVG(SAL) AVERAGE FROM EMP GROUP BY PROJNO;

Если Вы повторно запустите выполнение этого запроса, то SQL*Plus потребует ввести только значение переменной TABLE (перед ней стоит один амперсенд). Для переменных с двумя амперсендами (GROUP_COL or NUMBER_COL) ввод значений не потребуется.

–  –  –

Ограничения при подстановке переменных.

Подстановку переменных нельзя использовать в командах редактирования APPEND, CHANGE, DEL и INPUT. Также подстановку нельзя использовать в командах, в которых она бессмысленна (т.е. в командах типа HELP, REMARK и TIMING). Команды APPEND, CHANGE и INPUT воспринимают текст, начинающийся с амперсанда как простой текст.

Перечисленные ниже переменные, устанавливаемые командой SET, непосредственно влияют на процесс подстановки переменных и параметров.

включает и выключает подстановку.

SET SCAN устанавливает символ подстановки. Подразумеваемый символ -- &.

SET DEFINE SET ESCAPE устанавливает символ отмены. Этот символ нужно ставить перед символом замены, если мы хотим, чтобы он был воспринят SQL*Plus как обыкновенный символ, а не как символ замены.

Подразумеваемый символ отмены -- \.

SET VERIFY ON вызывает печать на экране каждой строки командного файла до и после подстановки переменных.

SET CONCAT устанавливает символ, ставящийся между именем переменной и подсоединяемой к ее значению строкой. Подразумеваемый символ --. (точка).

CONTINUE (Продолжение) отменяет EXIT.

Пример: Эти команды вызывают завершение SQL*Plus и печать кода ошибки, в случае, если, команда UPDATE выполниться с ошибкой. В этом случае также будет пропущена команда COPY.





SQL GET RAISE

WHENEVER SQLERROR EXIT SQL.SQLCODE

UPDATE EMP SET SAL = SAL*1.1

COPY TO SCOTT/TIGER@D:BETHESDA REPLACE EMP USING SELECT * FROM EMP

WHENEVER SQLERROR CONTINUE

@ (знак “at”, запуск командного файла ) @ (знак “at”—коммерческое “при” ) @имя_файла[.расширение] Команда @ служит для запуска командных файлов.

имя_файла командный файл, который нужно выполнить. Если вы опустите расширение, SQL*PLUS по умолчанию обычно использует расширение SQL. Подразумеваемое расширение имен файлов можно изменить при помощи команды SET.

Вы можете включать в командный файл любые команды, которые вы обычно вводите интерактивно (команды SQL или SQL*PLUS).

Данная команда действует подобно START, но не позволяет передавать параметры.

Например, чтобы выполнить командный файл PRINTRPT с расширением SQL, введите:

SQL @PRINTRPT

Чтобы выполнить командный файл WKRPT с расширением QRY, введите:

SQL @WKRPT.QRY / (наклонная черта) Ввод наклонной черты вызывает выполнение команды SQL или блок PL/SQL, находящейся (находящегося) в данный момент в буфере команд.

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

Данная команда действует подобно команде RUN, но она не выводит на ваш экран команду из буфера.

Выполнение команды SQL или блока PL/SQL, используя “/”, не изменит номер текущей строки в буфере, если команда в буфере не содержит ошибок. В случае существования ошибки SQL*PLUS поставит указатель текущей строки на строку с ошибкой.

Например, чтобы посмотреть команду, которую Вы будете выполнять, Вы можете вывести содержимое

–  –  –

буфера:

SQL LIST 1* SELECT ENAME, JOB FROM EMP WHERE ENAME = ‘JAMES’ Чтобы выполнить эту команду, введите “/”.

SQL /

Для вышеприведенного запроса SQL*PLUS покажет следующее:

ENAME JOB

--------- --------AMES CLERK ACCEPT (принять) ACC[EPT] переменная [NUM[BER] | CHAR] [PROMPT текст | NOPR[OMT]] [HIDE] Команда ACCEPT читает строку с устройства ввода и сохраняет ее в указанной пользователем переменной.

переменная Имя переменной, в которой вы хотите сохранить значение. Если переменная не существует, то SQL*PLUS создаст ее.

NUM[BER] Ограничивает тип данных переменной типом NUMBER. Если ответ не соответствует типу данных, ACCEPT выдает сообщение об ошибке и завершается.

CHAR Ограничивает тип данных переменной типом CHAR. Если ответ не соответствует типу данных, ACCEPT выдает сообщение об ошибке и завершается.

PROMPT текст Выводит текст на экран до приема значения переменной от пользователя.

NOPR[OMPT] Пропускает строку и ожидает ввода без вывода подсказки.

HIDE Подавляет отображение вводимых данных.

Например: Чтобы вывести подсказку “Оклад: “ и поместить ответ в переменную SALARY (с типом данных NUMBER), введите:

SQL ACCEPT salary NUMBER PROMPT ‘Оклад: ‘ Чтобы вывести подсказку “Пароль: “ и поместить ответ в CHAR переменную PSWD и подавить показ вводимых данных, введите:

SQL ACCEPT pswd CHAR PROMPT ‘Пароль: ‘ HIDE APPEND (Добавить) A[PPEND] текст Команда APPEND добавляет указанный текст в конец текущей строки буфера. текст Текст, который вы хотите добавить. Если вы хотите отделить текст от предшествующих символов пробелом, введите два пробела между APPEND и текстом.

Пример: Чтобы добавить пробел и имя столбца DEPT во второй строке буфера, сначала необходимо сделать ее текущей:

SQL 2 2* FROM EMP,

Затем введите APPEND:

SQL APPEND DEPT

SQL 2 2* FROM EMP, DEPT Обратите внимание на двойной пробел между APPEND и DEPT. Первый разделяет APPEND от текста;

второй пробел является первым добавляемым символом.

Чтобы добавить точку с запятой, введите:

SQL APPEND ;;

SQL*PLUS добавляет первую точку с запятой к текущей строке, а вторую интерпретирует как конец

–  –  –

команды APPEND.

BREAK ( Обьявить перерыв в отчёте) BRE[AK] [ON элемент_отчета [действие [действие]]] Команда BREAK определяет где и как форматирование будет изменять отчет.

BREAK используется для:

подавления вывода дублированных значений для указанных столбцов пропуск строк при изменении значения столбца печати результата промежуточных вычислений при изменении значения столбца или в конце отчета (см. команду COMPUTE) Команда BREAK без параметров выводит перечень текущих установок BREAK.

элемент_отчета

Необходим следующий синтаксис:

{column | expr | ROW | REPORT} действие

Необходим следующий синтаксис:

SKI[P] n | [SKI[P]] PAGE] [NODUP[LICATES] | DUP[LICATES]] ON столбец [действие [действие]] Определяются действия для SQL*PLUS, которые необходимо произвести при прерывании в указанном столбце (называется столбцом прерывания).

Прерывание происходит по одной из трех причин:

• изменилось значение столбца или выражения

• окончание вывода записи

• конец отчета Когда вы опускаете действие, “BREAK ON столбец” запрещает печать дублированных значений в столбце и помечает место в отчете, в котором SQL*PLUS произведет вычисления, определенные вами в соответствующей команде COMPUTE.

Вы можете указать “ON столбец” один или несколько раз.

Если вы указали фразу ON несколько раз, как в данном случае:

SQL BREAK ON DEPTNO SKIP PAGE ON JOB SKIP 1 ON SAL SKIP 1

сначала фраза ON рассматривает самое внешнее прерывание (в данном случае ON DEPTNO) и в самую последнюю очередь фраза ON рассматривает самое внутреннее прерывание (в данном случае ON SAL).

SQL*PLUS ищет прерывание в каждой выводимой записи в указанных колонках, начиная с самого внешнего прерывания до самого внутреннего прерывания в заказанном вами порядке. В данном случае, SQL*PLUS ищет измененные значения в DEPTNO, затем в JOB, затем в SAL.

Затем, SQL*PLUS выполняет действия начиная с действий указанных для самого внутреннего прерывания и так обработка идет в обратном порядке к самому внешнему прерыванию (в данном случае от SKIP 1 для ON SAL к SKIP PAGE для ON DEPTNO). SQL*PLUS выполняет все действия снизу вверх, включая действия и для столбца, в котором произошло прерывание.

Если, например, в выводимой последовательности записей изменилось значение столбца JOB, но значения DEPTNO и SAL не изменились, то SQL*PLUS пропустит две строки перед тем как напечатать запись (одна строка- как результат SKIP 1 во фразе ON SAL, и другая строка как результат SKIP 1 во фразе ON JOB).

Всегда при использовании “ON столбец”, вы должны также использовать фразу ORDER BY в команде SQL SELECT. Обычно столбцы, используемые в команде BREAK, должны появляться в той же последовательности во фразе ORDER BY (хотя все столбцы, указанные в ORDER BY необязательно должны присутствовать в команде BREAK). Это предотвращает бессмысленные прерывания в вашем отчете.

Для вышеприведенной команды BREAK, следующая команда SELECT получит следующие (осмысленные) результаты:

SQL SELECT DEPTNO, JOB, SAL, ENAME

FROM EMP ORDER BY DEPTNO, JOB, SAL, ENAME;

–  –  –

Все записи с одинаковым DEPTNO напечатаются вместе на одной странице, и на этой странице все записи с одинаковым JOB напечатаются в одной группе. Внутри каждой группы профессий (job), работники с одинаковым окладом (SAL) объединяются в группы. Прерывание в колонке ENAME не приводит ни к каким действиям, т.к. этот столбец не задан в команде BREAK.

ON выражение [действие [действие]] Определяются действия для SQL*PLUS, которые необходимо произвести при изменении значения выражения. Если вы не задали действие, “BREAK ON expr” запретит вывод дублированных значений expr и пометит место в отчете, где SQL*PLUS произведет заданные вами вычисления в соответствующей команде COMPUTE.

Вы можете использовать в выражении один или несколько столбцов таблицы или алиас, присвоенный для столбца в команде SELECT или в команде COLUMN. Если вы используете выражение (expr) в команде BREAK, вы должны ввести данное выражение точно также, как оно задано в команде SELECT.

Если выражение в SELECT равно a+b, например, вы не можете использовать b+a или (a+b) в команде BREAK для ссылки на данное выражение из команды SELECT. То, что говорилось выше о “ON столбец”, также применимо к “ON expr”.

ON ROW [действие [действие]] Определяются действия для SQL*PLUS, которые надо произвести, когда команда SQL SELECT возвращает запись. ROW-прерывание становится в конец иерархии прерываний, независимо от того, где фраза ON ROW задана в команде BREAK. Вы должны всегда задавать действие при использовании данного прерывания.

ON REPORT Отмечает место в отчете, где SQL*PLUS произведет вычисления определенные вами в соответствующей команде COMPUTE. Используйте BREAK ON REPORT совместно с COMPUTE для печати общих сумм.

REPORT-прерывание становится в вершину иерархии прерываний, независимо от того, где вы его указали в команде BREAK.

Теперь рассмотрим список возможных действий:

SKI[P] n Пропускает n строк перед выводом записи при возникновении прерывания.

[SKI[P]] PAGE Переходит к новой странице перед выводом записи при возникновении прерывания.

NODUP[LICATES] Печатает пробелы вместо значения столбца прерывания, когда значение столбца равно значению столбца из предыдущей записи.

DUP[LICATES] Печатает значение столбца прерывания для каждой выбранной записи. Для печати текущих описаний прерываний необходимо просто ввести BREAK без параметров.

Каждая новая команда BREAK, которую вы введете, заменяет предшествующую.

Примеры:

Для получения отчета, который выводит дублированные значения профессий (job), выводит средний оклад (SAL) и вставляет пустую строку, когда изменяется значение JOB, и дополнительно печатает сумму окладов и вставляет еще одну пустую строку, когда изменяется значение DEPTNO, вы можете ввести следующие команды. (В примере выбираются только отделы 10 и 30 и профессии клерк и продавец).

BREAK ON DEPTNO SKIP 1 ON JOB SKIP 1

DUPLICATES

SQL COMPUTE SUM OF SAL ON DEPTNO

SQL COMPUTE AVG OF SAL ON JOB

SQL SELECT DEPTNO, JOB, ENAME, SAL FROM EMP

WHERE JOB IN (‘CLERK’,’SALESMAN’) AND DEPTNO IN (10,30) ORDER BY DEPTNO, JOB;

–  –  –

разделитель Представляет любой не алфавитно-цифровой символ, такой как “/” или “!”. Используйте символ разделитель, который не появляется ни в старом ни в новом тексте. Можно опускать пробел между CHANGE и первым sepchar.

старый Текст, который вы хотите изменить. CHANGE не различает регистр при поиске указанного текста.

Например:

CHANGE /aq/aw найдет первое появление “aq”, “AQ”, “aQ”, “Aq” и заменит его на “aw”. SQL*PLUS вставит текст таким, каким Вы его задали в команде.

Если старому тексту предшествует “...”, то команда CHANGE заменит весь текст от начала строки до искомого текста (включая сам текст).

Если “...” стоят после старого текста, то CHANGE заменит весь текст до конца строки. Если “...” является вложенным, то CHANGE изменяет часть строки между первой частью и второй часть параметра “старый”.

новый Текст заменяющий “старый” текст. Если вы опустите этот параметр и второй и третий разделители, CHANGE удалит старый текст из текущей буферной строки.

CHANGE заменяет заданный Вами текст на новый в текущей буферной строке.

При выводе команды на экран текущая строка помечается звездочкой (*).

Вы также можете использовать CHANGE для изменения строки, которая привела к ORACLE-ошибке.

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

Чтобы ввести строку заново, вы можете ввести номер строки,а за ним набрать новый текст. Если вы указали номер больше, чем количество строк в буфере, то SQL*PLUS добавит новый текст в конец буфера. Если вы указали номер строк равным нулю, то текст добавится в начало буфера (данная строка получит номер 1).

Примеры: Допустим, что текущая буферная строка содержит следующий текст:

4* WHERE JOB IN (‘CLERK’,’SECRETARY’,’RECEPTIONIST’)

Введите следующую команду:

SQL C /RECEPTIONIST/GUARD/

Строка изменится следующим образом:

4* WHERE JOB IN (‘CLERK’,’SECRETARY’,’GUARD’)

Или введите следующую команду:

SQL C /’CLERK’,.../’CLERK’)/

Строка изменится следующим образом:

4* WHERE JOB IN (‘CLERK’)

Или введите следующую команду:

SQL C /(...)/(‘COOK’,’BULTER’)/

Строка изменится следующим образом:

4* WHERE JOB IN (‘COOK’,’BULTER’) Вы можете замещать содержимое любой строки, используя номер строки. Данный ввод SQL 2 FROM EMP e1 означает, что вторая буферная строка замещается новым значением:

FROM EMP e1 Замечание: Ввод номера строки и последующего текста будет замещать всю строку несмотря на то, какой текст вы задали.

При этом SQL 2 c/old/new изменит вторую буферную строку таким образом:

SQL c/old/new

–  –  –

COPY (скопировать) COPY [FROM] имя_польз[/пароль][@описание_БД] | TO имя_польз[/пароль][@описание_БД]] {APPEND | CREATE | INSERT | REPLACE} целевая_таблица [(столбец, столбец, столбец...)] USING запрос Команда COPY копирует данные из запроса в таблицу локальной или удаленной БД.

имя_польз[/пароль] Задает имя и пароль пользователя с которым идет обмен информацией.

Фраза FROM определяет источник информации; фраза TO определяет адресата. Если вы не укажите пароль в FROM или TO, SQL*PLUS потребует их ввести. SQL*PLUS подавляет вывод вводимого пароля.

описание_БД Состоит из имени связи с БД или SQL*NET-строки подключения. Во фразе FROM данный параметр задает БД источник; Во фразе TO данный параметр задает БД адресат. Синтаксис параметра зависит от вашего SQL *NET-протокола связи. Для дополнительной информации об SQL*NET “Руководство пользователя SQL*NET” или обратитесь к ДБА. SQL*PLUS не выдает подсказки для ввода спецификации БД, но он использует вашу БД по умолчанию, если вы не задали данный параметр.

целевая_таблица Задает таблицу, которую вы хотите создать или в которую вы хотите добавить данные.

(столбец, столбец, столбец...) Задает имена столбцов в целевой таблице. Вы должны заключать имена в двойные кавычки, если они содержат символы нижнего регистра или пробелы.

Если вы задали столбцы, то номера столбцов должны соответствовать номерам выбираемого запроса. Если вы не задали столбцы, то копируемые столбцы получат те же имена, что и в таблицеисточнике, если COPY создает таблицу-адресат.

USING запрос Задает запрос (команда SELECT), в котором определяются копируемые записи и столбцы.

FROM имя_польз[/пароль][@описание_БД] Задает имя, пароль, БД, которые содержат копируемые данные. Если вы опустили фразу FROM, по умолчанию источником является БД, к которой подключен SQL*PLUS (т.е., БД к которой адресуются все команды). Если вы желаете копировать из другой БД, вы должны обязательно задавать фразу FROM.

TO имя_польз[/пароль][@описание_БД] Задает БД,содержащую таблицу-адресат. Если вы опустили фразу TO, то по умолчанию подразумевается БД, к которой подключен SQL*PLUS (т.е. БД, к которой адресуются все команды). Если вы желаете копировать в другую БД, вы должны обязательно задавать фразу TO.

APPEND Вставляет строки из запроса в таблицу-адресат, если она существует. Если таблица-адресат не существует, COPY создает ее.

CREATE Вставляет строки из запроса в таблицу-адресат после того, как она будет создана. Если таблицаадресат уже существует, будет получена ошибка.

INSERT Вставляет строки из запроса в таблицу-адресат, если она существует. Если таблица-адресат не существует, будет получена ошибка.

REPLACE Замещает данные в таблице-адресате и вставляет строки из запроса в таблицу-адресат, если она существует. Если таблица-адресат не существует, COPY создаст ее.

Переменная LONG команды SET ограничивает длину копируемых LONG-столбцов.

Если некоторые LONG-столбцы содержат данные длиннее, чем значение переменной LONG, COPY обрежет эти данные. SQL*PLUS вносит изменения в БД после каждого успешного копирования. Если вы присвоили переменной COPYCOMMIT положительное значение n (больше чем 0), изменения вносятся каждый раз после копирования n пакетов

–  –  –

записей. (Размер пакета определяется системной переменной ARRAYSIZE).

Примеры: Следующая команда копирует таблицу EMP из БД HQ в таблицу с именем WESTEMP в БД WEST. Если WESTEMP уже существует, SQL*PLUS заменит ее содержимое. Колонки таблиц EMP и WESTEMP имеют одинаковые имена.

SQL COPY FROM SCOTT/TIGER@HQ TO JOHN/CHROME@WEST

REPLACE WESTEMP USING SELECT * FROM EMP

Следующая команда копирует выбранные записи из таблицы EMP базы данных HQ в БД, к которой подключен SQL*PLUS. SQL*PLUS создает SALESMAN при копировании. SQL*PLUS копирует только столбцы EMPNO и ENAME, и данные столбцы получат имена EMPNO и SALESMAN.

SQL COPY FROM SCOTT/TIGER@HQ CREATE SALESMAN (EMPNO,SALESMAN) USING SELECT EMPNO, ENAME FROM EMP WHERE JOB=’SALESMAN’

DEFINE (определить) DEF[INE] [переменная] | [переменная = текст] Команда DEFINE определяет переменную пользователя и присваивает ей CHAR значение. Или, показывает значение и тип одной или всех переменных.

переменная Задает пользовательскую переменную, чье значение вы хотите посмотреть или определить.

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

переменная = текст Определяет переменную пользователя и присваивает ей символьное значение.

Чтобы посмотреть значение и тип переменной, введите DEFINE и имя переменной. Чтобы посмотреть значение и тип всех переменных, введите DEFINE без параметров.

DEFINE-переменные сохраняют свои значения, пока не произойдет одно из следующих событий:

• вы ввели новую команду DEFINE для данной переменной

• вы ввели команду UNDEFINE для данной переменной

• вы ввели команду ACCEPT для данной переменной

• вы задали данную переменную во фразе NEW_VALUE или OLD_VALUE команды COLUMN и использовали столбец в команде SELECT.

• вы вышли из SQL*PLUS Всякий раз, когда вы выполняете сохраненный запрос или командный файл, SQL*PLUS подставляет значение переменной для каждой подстановочной переменной, ссылающейся на данную переменную (в форме &переменная или &&переменная). Вы не получите подсказку на ввод такой переменной в данном сеансе, пока вы не уничтожите ее командой UNDEFINE.

Максимальное число переменных, определенных командами DEFINE, равно 240. Заметим, что вы можете использовать DEFINE для определения переменной _EDITOR, которая задает имя системного редактора, запускаемого по команде EDIT.

Если вы размещаете значение переменной, определяемой DEFINE, на нескольких строках (используя команду SQL*PLUS символ продолжения), SQL*PLUS заменит каждый символ продолжения и возврата каретки на пробел в итоговой переменной.

Например, SQL*PLUS поймет данную команду:

SQL DEFINE TEXT = ‘ONETWO- THREE’ как:

SQL DEFINE TEXT = ‘ONE TWO THREE’

Примеры: Чтобы присвоить значение MANAGER переменной POS, введите:

SQL DEFINE POS = MANAGER

Если вы выполните команду, которая содержит ссылку на &POS, SQL *PLUS подставит значение MANAGER вместо &POS и вы не получите подсказки на ввод значения POS.

Чтобы присвоить символьное значение 20 переменной DEPTNO, введите:

–  –  –

SQL DEFINE DEPTNO = 20 Хотя вы задали 20, SQL*PLUS присвоит символьное значение DEPTNO, состоящее из двух знаков 2 и 0.

Для показа описания DEPTNO, введите:

SQL DEFINE DEPTNO

DEFINE DEPTNO = “20” (CHAR) DEL ( Удалить буферную строку) Команда DEL удаляет текущую буферную строку.

Текущей становится следующая строка. Для удаления нескольких последовательных строк, введите DEL несколько раз.

Примеры: Предположим, буфер SQL содержит следующий запрос:

SELECT ENAME, DEPTNO

FROM EMP WHERE JOB = ‘SALESMAN’

ORDER BY DEPTNO

Чтобы сделать строку с WHERE текущей, вы должны ввести:

SQL LIST 3 3* WHERE JOB = ‘SALESMAN’

Чтобы удалить фразу WHERE, введите:

SQL DEL

Сейчас буфер SQL содержит следующие строки:

SELECT ENAME, DEPTNO

FROM EMP

ORDER BY DEPTNO

–  –  –

EDIT(Редактировать) EDIT [имя_файла[.расширение]] Команда EDIT вызывает системный текстовый редактор для редактирования указанного файла или содержимого буфера.

имя_файла[.расширение] Задает файл, который вы хотите редактировать (обычно командный файл). Если расширение файла опущено, берется расширение.SQL. За информацией по изменению расширения по умолчанию смотрите переменную SUFFIX команды SET в данной главе.

Чтобы откорректировать содержимое SQL буфера системным текстовым редактором, введите EDIT без имени файла.

Переменная пользователя _EDITOR содержит имя текстового редактора вызываемого с помощью команды EDIT. Значение переменной _EDITOR можно изменять. Информацию по изменению пользовательских переменных смотри в DEFINE. Если переменная _EDITOR не задана, EDIT попытается вызвать системный текстовый редактор по умолчанию.

EDIT помещает содержимое буфера в файл AFIEDT с расширением BUF (в текущий директорий) и вызывает текстовый редактор для данного файла. EDIT возвращает сообщение об ошибке, если вы не задали имя файла и буфер пуст.

Примеры: Чтобы отредактировать файл REPORT с расширением SQL, используя текстовый редактор операционной системы, введите:

SQL EDIT REPORT

EXIT ( Завершить SQL*PLUS) {EXIT | QUIT} [SUCCESS | FAILURE | WARNING | n | переменная] Команда EXIT вносит все отложенные изменения в БД, завершает SQL*PLUS, и передает управление операционной системе.

{EXIT | QUIT} QUIT- это синоним EXIT.

N - Задает целый код возврата.

Переменная - Задает определенную пользователем или системную переменную, такую как SQL.SQLCODE. ‘EXIT переменная’ выходит с кодом возврата равным значению данной переменной.

SUCCESS Нормальный выход.

FAILURE Выход с кодом возврата, указывающим на сбой.

WARNING Выход с кодом возврата указывающим на предупреждение.

EXIT без параметров выходит из SQL*PLUS со значением SUCCESS EXIT позволяет вам указать код возврата для операционной системы. Это позволяет вам выполнять командные файлы SQL*PLUS в пакетном режиме и реагировать на непредусмотренные события. Способ обнаружения события зависит от ОС.

Ключевые слова SUCCESS,FAILURE,WARNING задают значения, зависящие от типа ОС. В некоторых система FAILURE и WARNING могут не различаться.

Замечание: SUCCESS,FAILURE,WARNING не являются зарезервированными словами.

За информацией о выходе по условию обращайся к описанию WHENEVER SQLERROR.

Примеры: Ниже приводится выход с кодом ошибки последней выполненной команды или блок PL/SQL:

SQL EXIT SQL.SQLCODE

GET (Взять)- загрузить файл в буфер SQL GET имя_файла[.расширение] [LIS[T] | NOL[IST]] Команда GET загружает файл операционной системы в текущий буфер.

имя_файла[.расширение] Задает имя загружаемого файла (обычно командный файл). Если расширение файла не указано, используется расширение по умолчанию.SQL.

–  –  –

Информацию об изменении расширения по умолчанию смотри описание команды SET переменная SUFFIX в данной главе.

LIS[T Выводит содержимое файла.

NOL[IST] Запрещает вывод.

Примеры: Чтобы загрузить файл YEARENDRPT с расширением SQL в буфер, введите:

SQL GET YEARENDRPT

HOST ( Выполнить команду ОС) HO[ST] [команда] Команда HOST выполняет команду операционной системы без выхода из SQL*PLUS команда Задает команду операционной системы. Введите HOST без команды, чтобы вывести подсказку операционной системы. Затем вы можете выполнить множество команд операционной системы. За информацией по возврату обратно в SQL*PLUS обратитесь к руководству по установке ORACLE и руководству пользователя по вашей ОС.

В некоторых операционных системах можно использовать “$” или другой символ вместо HOST.

Смотри руководство по установке ORACLE и руководство пользователя для вашей операционной системы.

В некоторых операционных системах к команде HOST нет доступа.

Примеры: Чтобы выполнить команду операционной системы ls *.sql, введите:

SQL HOST ls *.sql INPUT(Добавить в буфер SQL) I[NPUT] [текст] Команда INPUT добавляет одну или более строк текста после текущей буферной строки.

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

Чтобы добавить несколько строк, введите INPUT без текста. INPUT попросит вас ввести каждую строку. Выход из INPUT- это пустая введенная строка.

Если вы ввели номер строки больший,чем количество строк в буфере и далее текст, SQL*PLUS добавит новую строку в конец буфера. Если вы задали в качестве номера строки ноль (0) и далее указали текст, то SQL*PLUS вставит новую строку в начало буфера (данная строка получит номер 1).

Примеры: Предположим буфер SQL содержит следующую команду:

1 SELECT ENAME, DEPTNO, SAL, COMM 2 FROM EMP

Чтобы добавить фразу ORDER BY к запросу, введите:

SQL LIST 2 2* FROM EMP

SQL INPUT ORDER BY ENAME

LIST 2 делает вторую строку текущей. INPUT добавляет новую строку после текущей строки. Буфер SQL сейчас содержит следующие строки:

1 SELECT ENAME, DEPTNO, SAL, COMM 2 FROM EMP 3* ORDER BY ENAME

Чтобы добавить две строки с фразой WHERE, введите:

SQL LIST 2 2* FROM EMP SQL INPUT 3 WHERE JOB = ‘SALESMAN’ 4 AND COMM=500

–  –  –

INPUT попросит вас ввести новые строки, пока вы не введете пустой строки.

Буфер SQL сейчас содержит следующие строки:

SELECT ENAME, DEPTNO, SAL, COMM FROM EMP WHERE JOB = ‘SALESMAN’ AND COMM=500

ORDER BY ENAME

LIST (Показать строки из буфера SQL) L[IST] [n | n m | n * | n LAST | * | * n | * LAST | LAST] Команда LIST выводит одну или несколько строк буфера.

Выводит n строк.

n Выводит строки с n по m.

nm Выводит со строки n до текущей.

n* n LAST Выводит со строки n до последней.

• Выводит текущую строку.

•n Выводит c текущей строки до строки с номером n.

• LAST Выводит c текущей строки до последней строки.

Выводит последнюю строку.

LAST Введите LIST без параметров, чтобы вывести все строки.

Можно опускать пробел между LIST и n или *, но но не между LIST и LAST.

Последняя выведенная строка становится новой текущей строкой (помечается звездочкой).

Примеры: Чтобы вывести содержимое буфера, введите:

SQL L

Вы, наверное, увидите следующие результаты:

SELECT ENAME, DEPTNO, JOB FROM EMP WHERE JOB = ‘CLERK’

ORDER BY DEPTNO

Звездочка показывает, что текущей строкой стала строка с номером 4.

Чтобы вывести только вторую строку, введите:

SQL L 2

Выведется следующее:

2* FROM EMP

Чтобы вывести с текущей строки (сейчас это строка 2) до последней, введите:

SQL L * LAST

Затем вы увидите следующее:

2 FROM EMP 3 WHERE JOB = ‘CLERK’ 4* ORDER BY DEPTNO PAUSE - (Объявить паузу) PAU[SE] [текст] Команда PAUSE выводит пустую строку, затем строку содержащую “текст”, и ожидает нажатие клавиши [Return]. Или, выводит две пустые строки и устанавливается в режиме ожидания ввода.

текст Представляет текст, который вы хотите вывести. Если вы хотите вы ввести две пустых строки, введите PAUSE без параметров.

Так как PAUSE всегда ожидает отклика пользователя, лучше использовать сообщение, которое явно просит нажать [Return].

PAUSE читает ввод с терминала (если он доступен) даже, когда вы переназначили источник команд ввода на файл.

За информацией по созданию пауз между страницами отчета обратитесь к описанию переменной

–  –  –

PAUSE команды SET.

Примеры: Чтобы вывести сообщение “Установите бумагу, нажмите Return” с ожиданием нажатия клавиши [Return], вы можете включить следующую команду PAUSE в командный файл:

SQL GET MYFILE

1 SET PAUSE OFF PAUSE Установите бумагу и нажмите Return 3 SELECT...

PROMPT (Вывести текст на экран) PROMPT [текст] Команда PROMPT выводит указанное сообщение или пустую строку на экран. текст Текст сообщения, которое вы хотите вывести. Если “текст” опущен, PROMPT выведет пустую строку на экран.

Можно использовать данную команду в командном файле для предоставления информации пользователю.

Примеры: Следующий пример демонстрирует использование PROMPT совместно с ACCEPT в командном файле ASKFORDEPT.

ASKFORDEPT содержит следующие команды SQL*PLUS и SQL:

PROMPT PROMPT Please enter a valid department PROMPT For example: 10, 20, 30, 40

ACCEPT NEWDEPT NUMBER PROMPT ‘DEPT: ‘

SELECT DNAME FROM DEPT

WHERE DEPTNO = &NEWDEPT Предположим, что вы запустили данный командный файл, используя

START или @:

SQL @ASKFORDEPT

SQL*PLUS выведет следующие подсказки:

Please enter a valid department For example: 10, 20, 30, 40

DEPT:

Пользователь вводит номер отдела после подсказки

DEPT:.

SQL*PLUS выведет строку с &NEWDEPT до и после подстановки, и затем покажет наименование отдела, соответствующее введенному номеру после подсказки

DEPT:.

REMARK

–  –  –

SELECT JOB, SUM( DECODE( DEPTNO, 10, SAL, 0)) “DEPARTMENT 10”, SUM( DECODE( DEPTNO, 20, SAL, 0)) “DEPARTMENT 20”, SUM( DECODE( DEPTNO, 30, SAL, 0)) “DEPARTMENT 30”, SUM(SAL) “TOTAL BY JOB” FROM EMP 13* GROUP BY JOB RUN (Запустить) R[UN] Команда RUN выводит и выполняет команду SQL или блок PL/SQL запомненный в буфере SQL.

RUN приводит к тому, что последняя строка буфера SQL становится текущей.

Команда “наклонная черта” (/) аналогична RUN, но она не выводит содержимое буфера на терминал.

SAVE (Сохранить буфер SQL в файле ) SAV[E] имя_файла[.расширение] [CRE[ATE] | REP[LACE] | APP[END]] Команда сохраняет содержимое буфера в файле операционной системы.

SAVE имя_файла[.расширение] Задает имя файла, в котором вы хотите сохранить содержимое буфера. Если Вы не указали расширение, SQL*PLUS использует расширение по умолчанию (обычно SQL).

Если вы указываете одну из фраз CREATE, REPLACE, APPEND, то необходимо явно указать расширение файла.

CRE[ATE] Создает файл, если он не существует.

REP[LACE] Замещает содержимое существующего файла. Если файл не существует, REPLACE создает его.

APP[END] Добавляет содержимое буфера в конец указанного вами файла.

Когда вы сохраняете содержимое буфера SQL, SAVE добавляет строку с наклонной чертой (/) в конец файла.

Примеры: Чтобы сохранить содержимое буфера в файл DEPTSALPRT с расширением SQL, введите:

SQL SAVE DEPTSALPRT

Чтобы сохранить содержимое буфера в файл DEPTSALPRT с расширением OLD, введите:

SQL SAVE DEPTSALPRT.OLD

START (Старт командного файла) STA[RT] имя_файла[.расш] [арг1 арг2...] Команда START выполняет указанный командный файл.

имя_файла[.расш] Задает командный файл, который вы хотите выполнить. Этот файл содержит любые команды, которые вы можете выполнять интерактивно.

Если вы не указали расширение, SQL*PLUS использует расширение по умолчанию (обычно SQL). За информацией по изменению расширения по умолчанию обратитесь к описанию переменной SUFFIX команды SET в данной главе.

Когда вы ввели START имя_файла.ext, SQL*PLUS будет искать данный файл в текущем директории.

Если SQL*PLUS не обнаружит данный файл, то он повторит поиск в директориях, заданных в пути для операционной системы. Некоторые операционные системы могут не поддерживать возможность пути поиска.

[арг1 арг2...] Определяет аргументы, передаваемые командному файлу. Если вы ввели один или более аргументов, SQL*PLUS подставит данные значения в параметры (&1,&2,...) командного файла. Первый аргумент замещает &1,

–  –  –

второй замещает &2, и т.д.

Команда START присваивает параметрам значения аргументов; если вы стартуете снова этот командный файл в данном сеансе, вы можете задать новые значения или опустить аргументы для использования старых значений.

Команда @ (знак “at”) работает аналогично START, но она не позволяет передавать параметры.

Примеры: Файл с именем PROMOTE.SQL, используемый для содействия служащим, может содержать следующую команду:

SELECT * FROM EMP WHERE MGR=&1 AND JOB=&2 AND SAL&3;

Чтобы выполнить данный командный файл, введите:

SQL START PROMOTE 7280 CLERK 950

Затем SQL*PLUS выполнит следующую команду:

SELECT * FROM EMP WHERE MGR=7280 AND JOB=’CLERK’ AND SAL950;

TIMING (Записать данные хронометрирования) TIMI[NG] [START текст | SHOW | STOP] Команда TIMING записывает данные хронометрирования об общем времени выполнения команд, выводит заголовок текущей области хронометрирования и ее данные или выводит количество активных областей хронометрирования.

START текст Устанавливает область хронометрирования и делает текст заголовком данной области. Вы можете иметь более одной активной области хронометрирования посредством старта дополнительной области, не остановив предыдущую область хронометрирования. Последняя запущенная область хронометрирования становится текущей.

SHOW Выводит заголовок текущей области хронометрирования и ее данные.

STOP Выводит заголовок текущей области хронометрирования и ее данные, затем удаляет данную область.

Если существуют еще активные области хронометрирования,то одна из них, созданная самой последней, еще не уничтоженной, становится текущей. Используйте фразу TIMING в команде CLEAR для удаления всех активных областей.

Для отображения количества активных областей хронометрирования используйте TIMING без параметров.

Вы можете использовать эти данные для анализа эффективности некоторых команд или блоков PL/SQL.

За подробностями обратитесь к руководству по установке ORACLE и руководству пользователя для вашей операционной системы. Смотрите команду SET TIMING ON, для отображения текущего времени после каждой выполненной команды или блока PL/SQL.

Примеры: Для создания области хронометрирования с именем SQL_AREA, введите:

SQL TIMING START SQL_AREA

Для вывода заголовка текущей области хронометрирования и накопленных данных, введите:

SQL TIMING SHOW

Для вывода заголовка текущей области хронометрирования и накопленных данных, и уничтожения данной области введите:

SQL TIMING STOP

–  –  –

USER Показывает имя пользователя, с которым вы подключились к SQL*PLUS.

Чтобы посмотреть текущее значение LINESIZE, введите:

SQL SHOW LINESIZE

Если текущее значение переменной равно 80, SQL*PLUS выдаст следующее: linesize 80 SQLPLUS (Запуск программы) SQLPLUS [[-S[ILENT]] [вход] [запуск]] | -?

Команда SALPLUS стартует SQL*PLUS (вводится после системного приглашения).

где:

вход

Требуется следующий синтаксис:

имя_пользователя[/пароль][@спецификация_базы] | / | /NOLOG запуск

–  –  –

Позволяет вводить имя командного файла и аргументы. SQL*PLUS передает аргументы командному файлу аналогично команде START.

Фраза “запуск” задается в следующем формате:

@имя_файла[.расш] [арг1 арг2...] Если вы не указали logon ( регистрацию ) и задали start, SQL*PLUS подразумевает, что первая строка командного файла содержит правильный logon. Если вы не задали ни logon, ни start, SQL*PLUS выдаст подсказку для ввода имени и пароля пользователя. имя_пользователя[/пароль] Задает имя и пароль пользователя, с которым вы хотите подключиться к ORACLE. Если вы опустили эти параметры, SQL*PLUS попросит вас ввести их. Если вы ввели наклонную черту (/) или просто нажмете [Return] на подсказке user_name, SQL*PLUS подключит вас, используя logon по умолчанию (см “/” ниже).

Если вы опустили только пароль, SQL*PLUS попросит вас ввести его.

Вводимый вами пароль после подсказки не отображается на экране.

Представляет logon по умолчанию (ops$). Вы не можете ввести спецификацию_базы, если вы используете logon по умолчанию. По умолчанию logon SQL*PLUS попытается подключить вас, используя имя пользователя OPS$имя, где “имя” есть ваше имя в операционной системе.

/NOLOG Заставляет стартовать SQL*PLUS, но не производить вашу регистрацию в ORACLE. Перед выполнением любой команды необходимо выполнить команду CONNECT с правильным logon, чтобы подключиться к ORACLE. Спецификация_базы.

Состоит из SQL*NET-строки подключения. Синтаксис данной строки зависит от типа протокола связи вашего ORACLE. Дополнительную информацию смотрите в руководстве по SQL*NET или спросите у администратора БД.

• S[ILENT] Подавляет все информационные и запрашивающие сообщения SQL*PLUS, включая командную подсказку ‘SQL ’ и названия программ, которые обычно отображаются во время запуска SQL*PLUS. Это используется для того, чтобы сделать вызов SQL*PLUS другими программами невидимым для пользователя.

-?

Заставляет SQL*PLUS отобразить номер текущей версии, а затем передать управление операционной системе. Оба знака нельзя разделять пробелом.

SQL*PLUS может настраиваться с помощью файла параметров (profile), создаваемого администратором базы. SQL*PLUS выполняет этот командный файл, когда пользователь запускает SQL*PLUS и устанавливает связь с ORACLE.

Данный файл параметров позволяет ДБА настраивать среду по умолчанию для всех пользователей данной системы; пользователи не имеют доступа к данному файлу параметров. Имя данного файла зависит от типа операционной системы. Подробнее о файле параметров смотри в руководстве по установке ORACLE.

SQL*PLUS также поддерживает файл параметров пользователя (User Profile), выполняемого после главного файла параметров. SQL*PLUS ищет файл с именем LOGIN.SQL в вашей текущей директории.

Если SQL*PLUS не обнаружит этого файла здесь, то SQL*PLUS будет искать данный файл в директориях заданных в пути. Некоторые операционные системы не поддерживают возможность пути поиска. Если SQL*PLUS не обнаружит LOGIN-файл, он выведет предупреждающее сообщение и продолжит процесс регистрации.

Примеры: Для запуска SQL*PLUS с именем SCOTT и паролем TIGER, введите:

SQLPLUS SCOTT/TIGER

Чтобы сделать то же самое и задать базу POLICY по умолчанию, введите:

SQLPLUS SCOTT/TIGER@POLICY

Чтобы запустить командный SQL*PLUS и выполнить командный файл STARTUP.SQL, введите: SQL

CONNECT SCOTT/TIGER @STARTUP

Команды форматирования отчета

Используются для следующих целей :

• Подготовки выходного отчёта в интерактивном режиме

• Для подготовки автоматически генерируемых командных файлов с использованием параметров внутренних метофайлов

–  –  –

BTITLE включает печать колонтитула в нижней части каждой страницы.

Команда BTITLE имеет более ограниченные возможности форматирования, но зато она совместима с UFI (предшественник SQL*Plus).

Команда BTITLE позволяет определить нижний колонтитул как пустую строку со следующей за ней строкой с выровненным по центру текстом.

Больше подробностей можно найти в описании старой команды TTITLE.

NEWPAGE [1|n] Новая команда: SET команда NEWPAGE NEWPAGE пропускает в спул-файле n строк после начала следующей страницы.

TTI[TLE] текст (верхний колонтитул) Команда TTITLE предназначена для определения верхнего колонтитула для каждой страницы отчета.

Старая команда TTITLE имеет довольно ограниченные возможности форматирования, но зато она совместима с UFI (предшественником SQL*Plus).

Старая команда BTITLE определяет верхний колонтитул как состоящий из двух строк: 1-я состоит из даты, указанного в команде текста и номера страницы; 2-я, следующая за ней, пуста. Дата в 1-й строке выравнивается по левому краю, номер страницы—по правому, а текст—по центру.

SQL*Plus выравнивает текст по центру страницы,исходя из заданной командой SET LINESIZE ширины строки.

Вертикальная черта (|) в тексте означает переход на новую строку.

Две вертикальные черты (||) означают пропуск одной строки. Чтобы изменить символ, которым разделяются строки при выводе, следует использовать команду SET HEADSEP.

Управлять форматированием в старых TTITLE и BTITLE можно при помощи переменной _page, содержащей шаблон формата (“page &P4”). Чтобы изменить формат, нужно переопределить эту переменную с помощью команды

DEFINE, например:

SQL SET ESCAPE / SQL DEFINE _page = ‘Страница /&P2’ Теперь в колонтитулах будет печататься “Страница” и номер страницы. Число 2 в данном случае устанавливает кол-во разрядов поля для номера страницы = 2. Вместо слова ‘Страница’ можно использовать любой текст. Ширину поля номера страницы тоже можно задавать произвольно. Заметьте, что перед амперсандом (&) должен стоять ESCAPE-символ, чтобы SQL*Plus не воспринял его как символ подстановки значения переменной. ESCAPE-символ задается командой SET ESCAPE.

SQL*Plus воспринимает команду TTITLE как старую если сразу после нее не следует одно из предложений, использующихся в современной команде.

Пример: Если нужно, используя старую форму TTITLE, установить верхний колонтитул как дату и номер страницы на 1-й строке, слово MARKETING на 2-й и PERSONNEL REPORT на 3-й, то следует ввести:

SQL TTITLE ‘MARKETING | PERSONNEL REPORT’

–  –  –

Функции DUMP, GREATEST и LEAST нельзя использовать в PL/SQL.

BTITLE (Определение заголовок отчёта в конце) BTI[TLE] [специф_формата [текст | переменная]...] | [OFF | ON] Команда BTITLE размещает и форматирует заданные заголовки в конце каждой страницы отчета, или показывает текущие определения BTITLE.

SQL*PLUS определяет новый формат BTITLE, если правильная спецификация формата следует непосредственно за именем команды (LEFT,SKIP,COL, и т.д.).

За информацией о печати номеров страниц в заголовках обращайтесь к описанию команды TTITLE.

Примеры: Чтобы установить нижний заголовок “CORPORATE PLANING DEPARTMENT” выровненным влево и дату справа, введите:

SQL BTITLE LEFT ‘CORPORATE PLANING DEPARTMENT’ RIGHT ‘11 MAR 1988’

Чтобы установить нижний заголовок “CONFIDENTIAL” в колонке 50 и дату через 6 пробелов, введите:

SQL BTITLE COL 50 ‘CONFIDENTIAL’ TAB 6 ‘11 MAR 97’ CLEAR (очистить) CL[EAR] опция ( очистить установки ) Команда CLEAR сбрасывает или очищает текущее значение или установку указанных параметров.

Опция представляет одну из следующих фраз:

BRE[AKS] BUFF[ER] COL[UMNS] COMP[UTES] SCR[EEN] SQL TIMI[NG]

–  –  –

ссылается команда COLUMN.

Если вы используете выражение (expr) в команде COLUMN, вам необходимо его задавать в таком же виде, в каком оно задается в команде SELECT.

Если выражение в команде SELECT равно a+b, например, вы не можете использовать b+a или (a+b) в команде COLUMN для ссылки на выражение из команды SELECT.

Если вы выбираете столбцы с одинаковыми именами из разных таблиц, команда COLUMN воздействует на оба этих столбца. А именно, команда COLUMN для столбца ENAME воздействует на все столбцы с именами ENAME, на которые вы ссылаетесь в течение данного сеанса. COLUMN игнорирует предшествующее имя таблицы в команде SELECT.

Чтобы отформатировать столбцы по разному, присвойте уникальный алиас каждому столбцу внутри команды SELECT (не используйте фразу ALIAS команды COLUMN) и введите команду COLUMN для каждого алиаса.

ALI[AS] алиас ( псевдоним столбца ) Присваивает указанный алиас столбцу, который можно использовать для ссылки на столбец в командах BREAK,COMPUTE,COLUMN.

–  –  –

FOLD_B[EFORE] n Вставляет возврат каретки до каждого заголовка столбца и до каждой записи в столбце.Вы должны ввести n; значение n не влияет на формат. FOLD_BEFORE n имеет такой же эффект, как и NEWLINE.

FOR[MAT] формат Назначает формат вывода для указанного столбца. Спецификация формата д.б. текстовой константой (такой как A10 или $9,999), но не переменной.

По умолчанию ширина столбца типа CHAR является такой, как она определена в БД или равна длине заголовка столбца (выбирается максимальное). По умолчанию ширина столбца типа LONG равна значению переменной SET LONG. Чтобы изменить ширину CHAR или LONG столбцов, используйте FORMAT An. Если вы указали ширину меньшую чем заголовок, то SQL*PLUS обрежет заголовок.

SQL*PLUS форматирует CHAR-данные выравнивая их влево. Если значение не помещается в отведенную для него ширину, то SQL*PLUS сворачивает или усекает строку символов, в зависимости от установки SET WRAP.

По умолчанию ширина неотформатированных DATE-столбцов в SQL есть A9.

Чтобы изменить формат DATE-солбца, используйте SQL-функцию TO_CHAR в вашей SQL-команде SELECT.

Когда вы используете TO_CHAR, ORACLE автоматически позволяет делать очень широкий столбец, так как SQL*PLUS автоматически ширину столбца равной 80 символов. Затем Вы должны использовать команду SQL*PLUS COLUMN для восстановления ширины столбца.

Чтобы изменить ширину DATE-столбца в n, используйте FORMAT An. Если вы указали ширину меньшую чем заголовок, то SQL*PLUS обрежет заголовок.

Замечание: Другие SQL-вычисления могут привести к подобным эффектам; в таком случае используйте SQL*PLUS команду COLUMN для сброса ширины столбца.

Ширина NUMBER-столбца по умолчанию равна значению SET NUMWIDTH.

Чтобы изменить ширину, используйте FORMAT с параметром как показано в таблице Параметры строки FORMAT Параметр Пример Описание Числовые форматы Задает ширину вывода посредством количества введенных цифр.

–  –  –

SQL*PLUS форматирует NUMBER-данные выравнивая их вправо. Ширина поля выбирается равной или ширине заголовка или длине формата плюс один пробел для знака (выбирается большее). SQL*PLUS никогда не обрезает заголовок NUMBER-столбца. Если ширины, отведенной для столбца, не хватает для вывода числа, то SQL*PLUS выводит звездочки (*), оповещая нас о переполнении.

Для всех числовых форматов SQL*PLUS округляет числа до указанного количества значащих цифр.

Когда формат не задан, по умолчанию ширина числовых данных берется из переменной NUMWIDTH (см команду SET в данной главе).

HEA[DING] текст Определяет заголовок столбца. Если вы не используете фразу HEADING, заголовком столбца по умолчанию является имя столбца или выражения.

Если текст содержит пробелы или знаки пунктуации, вы должны заключить его в одиночные или двойные кавычки. Каждый символ HEADSEP (по умолчанию ‘|’) начинает новую строку. Например, COLUMN ENAME HEADING ‘Employee|Name’ Задает двух строковый заголовок. Смотри переменная HEADSEP команды

–  –  –

LIKE {expr | алиас} Копирует атрибуты вывода другого столбца или выражения (атрибуты которой уже заданы другой командой COLUMN). LIKE копирует только те атрибуты, которого не заданы в текущей команде COLUMN.

–  –  –

NEW_V[ALUE] переменная Определяет переменную, в которую помещается значение столбца. Вы можете ссылаться на эту переменную в команде TTITLE. Используйте NEW_VALUE для вывода значения столбца или даты в верхнем заголовке.

Вы должны включить данный столбец в BREAK-команду с действием SKIP PAGE. NEW_VALUE полезна при получении основных/детальных отчетов, в которых существует новая главная запись для каждой страницы. Для основных/детальных отчетов вы должны также включить данный столбец во фразу ORDER BY. Смотрите пример в конце описания данной команды.

–  –  –

NUL[L] символ Управляет выводом текста для пустых значений столбцов. Если вы не используете фразу NULL в команде COLUMN, SQL*PLUS выводит пробелы или текст, который вы задали для NULL, используя команду SET- там, где встречается пустые значения для данного столбца. (SET NULL задает текст, выводимый для всех пустых значений всех столбцов, если это не отменено для конкретного столбца фразой NULL команды COLUMN.) OLD_V[ALUE] переменная Определяет переменную, в которую помещается значение столбца. Вы можете ссылаться на эту переменную в команде BTITLE. Используйте OLD_VALUE для вывода значения столбца или даты в нижнем заголовке.

Вы должны включить данный столбец в BREAK-команду с действием SKIP PAGE.

OLD_VALUE полезна при получении основных/детальных отчетов, в которых существует новая главная запись для каждой страницы. Для основных/детальных отчетов вы должны также включить данный столбец во фразу ORDER BY. Подробнее о выводе значений столбца в верхний заголовок смотри COLUMN NEW_VALUE. В описании TTITLE смотри о том, как надо ссылаться на переменные в заголовках.

ON | OFF Управляет состоянием атрибутов вывода для столбца. OFF отключает атрибуты для столбца, но не влияет на описание атрибутов. ON восстанавливает атрибуты в прежнее положение.

PATTERN {число_образца | переменная_образца} WRA[PPED] | WOR[D_WRAPPED] | TRU[NCATED] Определяет, как SQL*PLUS будет обращаться с CHAR-строками, которые слишком широки для столбца. WRAPPED сворачивает конец строки на следующую линию. WORD_WRAPPED функция аналогична WRAPPED, но при свертке слова переносятся на другую строку полностью. TRUNCATED при выводе обрезает конец строки.

Вы можете вводить любое количество команд COLUMN для одного или нескольких столбцов. Все установленные атрибуты столбцов действуют до конца сеанса, или пока вы не отключите атрибуты фразой OFF. Таким образом, команды COLUMN, которые вы ввели, управляют атрибутами столбцов для множества команд SELECT.

Для различных столбцов эта команда может быть введена любое число раз. Также, любое число команд COLUMN может быть введено для одного и того же столбца, и их фразы будут применены совместно. Если эти несколько команд COLUMN применяют одну и ту же фразу для того же столбца, управление осуществляется с помощью последней.

Примеры: Чтобы сделать столбец ENAME шириной в 20 символов и двух строчный заголовок

EMPLOEYY NAME, введите:

SQL COLUMN ENAME FORMAT A20 HEADING ‘EMPLOYEE |NAME’

Чтобы отформатировать столбец SAL таким образом, чтобы он выводил миллионы долларов, округлялся до центов, использовал запятую для разделения тысяч, и выводил $0.00, когда число равно нулю, вы должны ввести:

SQL COLUMN SAL FORMAT $9,999,990.99 Чтобы присвоить алиас NET столбцу содержащему длинное выражение, вывести результат в формате долларов, и вывести NULL для пустых значений, вы можете ввести:

SQL COLUMN SAL+COMM+BONUS-EXPENSES-INS-TAX ALIAS NET

SQL COLUMN NET FORMAT $9,999,999.99 NULL ‘NULL’ Заметим, что в данном примере спецификация столбца разделена на две команды. Первая определяет алиас NET, а вторая использует NET для задания формата. Также заметим, что в первой команде вы должны задать выражение точно так же, как вы будете использовать его в командах SELECT. Иначе, SQL*PLUS не найдет описание данного столбца.

Чтобы ‘свернуть’ длинное значение в столбце REMARKS, вы можете ввести:

SQL COLUMN REMARKS FORMAT A20 WRAP

Для того, чтобы распечатать текущую дату и наименование каждой профессии в верхнем заголовке, введите следующее. (Вопрос создания переменной с текущей датой в вашем LOGIN файле рассматривался в главе “Вывод текущей даты в заголовках” темы “Определение заголовков и размерностей страниц” в главе 4.)

SQL COLUMN JOB NOPRINT NEW_VALUE JOBVAR

SQL COLUMN TODAY NOPRINT NEW_VALUE DATEVAR

–  –  –

SQL BREAK ON JOB SKIP PAGE ON TODAY

SQL TTITLE CENTER ‘Job Report’ RIGHT DATEVAR SKIP 2 -LEFT ‘Job: ‘ JOBVAR SKIP 2 SQL SELECT TO_CHAR(SYSDATE, ‘MM/DD/YY’) TODAY/ 2 ENAME, JOB, MGR, HIREDATE, SAL, DEPTNO 3 FROM EMP WHERE JOB IN (‘CLERK’,’SALESMAN’) 4 ORDER BY JOB, ENAME;

–  –  –

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

–  –  –

Если вы укажите больше одной функции, то разделите их пробелами.

OF {expr | столбец| алиас}...

Определяет столбец или выражение, которое вы хотите использовать при вычислениях. Вы должны также задать данный столбец в команде SELECT, иначе SQL*PLUS проигнорирует вашу команду COMPUTE.

Если вы не хотите, чтобы вычисляемое значение для указанного столбца появлялось на экране, подавите эту печать фразой NOPRINT команды COLUMN. Используйте пробелы для разделения нескольких выражений, столбцов или алиасов внутри фразы OF.

Чтобы сослаться в SELECT на выражение или функцию из фразы OF, заключите ссылку на выражение или функцию в кавычки. Имя столбца или алиаса заключать в кавычки не надо.

ON {выраж | столбец| алиас | REPORT | ROW} Определяет событие, которое SQL*PLUS будет использовать как прерывание. COMPUTE выводит вычисляемое значение и начинает повторное вычисление, когда происходит данное событие (также, когда изменяется значение выражения, после выборки новой записи, или заканчивается отчет).

Если несколько команд COMPUTE ссылаются на один и тот же столбец во фразе ON, то действует только последняя команда COMPUTE.

Чтобы сослаться в SELECT на выражение или функцию из фразы ON, заключите ссылку на выражение или функцию в кавычки. Имя столбца или алиаса заключать в кавычки не надо.

Чтобы вывести все описания COMPUTE, введите COMPUTE без параметров.

Для проведения вычислений необходимо, чтобы выполнялись следующие условия:

Выражение, столбец, или алиас столбца, на который вы ссылаетесь во фразе ON, должны быть заданы в команде SELECT.

Выражение, столбец, или алиас столбца, на который вы ссылаетесь во фразе ON, должны быть заданы в последней команде BREAK.

Если вы задаете ROW или REPORT во фразе ON, также необходимо задать ROW или REPORT в последней команде BREAK.

Одно или более выражений, столбцов, или алиасов столбцов, которые вы задаете во фразе OF, необходимо задать в команде SELECT.

Примеры: Чтобы вычислить промежуточные суммы окладов для профессий Лист 87 из 126 Владимир Новик webmaster@deltacom.co.il Справочник.

SQL,PL/SQL,SQL*Plus Интернет-издание www.deltacom.co.il/rus “clerk”,”analyst”,”salesman”, введите:

SQL BREAK ON JOB SKIP 1

SQL COMPUTE SUM OF SAL ON JOB

SQL SELECT JOB, ENAME, SAL 2 FROM EMP 3 WHERE JOB IN (‘CLERK’,’ANALYST’,’SALESMA’) 4....OREDER BY JOB, SAL;

Чтобы вычислить средний и максимальный оклады в отделах продавцов, введите:

SQL BREAK ON DNAME SKIP 1

SQL COMPUTE AVG MAX OF SAL ON DNAME

SQL SELECT DNAME, ENAME, SAL

2 FROM DEPT, EMP 3 WHERE DEPT.DEPTNO=EMP.DEPTNO 4 AND DNAME IN (‘ACCOUNTING’,’SALESMAN’) 5 ORDER BY DNAME;

SPOOL (Установить протоколирование работы) SPO[OL] [имя_файла[.расширение] | OFF | OUT Команда SPOOL сохраняет результаты запросов в файле операционной системы и, обычно, посылает данный файл на принтер. Также показывает текущее состояние буферизации.

имя_файла[.расширение] Задает имя файла, в который будет производиться буферизация отображаемых выходных данных.

Если вы не указали расширение, SPOOL использует расширение по умолчанию (LST или LIS в большинстве систем).

OFF Заставляет SQL остановить буферизацию.

OUT Останавливает буферизацию и посылает файл на принтер. Введите SPOOL без параметров, чтобы вывести текущее состояние буферизации.

Чтобы буферировать вывод генерируемый командами из командного файла без отображения его на экране, используйте SET TERMOUT OFF. SET TERMOUT OFF не влияет на вывод команд, введенных интерактивно.

Примеры: Чтобы начать запись отображаемых данных в файл с именем DIARY, введите:

SQL SPOOL DIARY

Чтобы закрыть и распечатать файл, введите:

SQL SPOOL OUT

TTITLE (Создать заголовок отчёта) TTI[TLE] [формат [текст | переменная]...] | Команда TTITLE помещает и форматирует указанный заголовок вверху каждой страницы отчета, или выводит текущее определение TTITLE.

Замечание: Описание старого формата TTITLE, совместимого с UFI (предшественник SQL*PLUS), смотри TTITLE(старый формат).

[OFF | ON] где формат состоит из одной или нескольких следующих фраз, используемых для размещения и форматирования текста:

COL n S[KIP] [n] TAB n LE[FT] CE[NTER] R[IGHT] BOLD FORMAT симв

–  –  –

Если вы не указали фразу printspec перед текстом, TTITLE выровнит текст влево. Для вывода текущего определения TTITLE, введите TTITLE без параметров.

Описание данных терминов и фраз действительно и для команды BTITLE.текст Задает текст заголовка. Текст необходимо поместить в одиночные кавычки, если в нем больше одного слова.

Переменная.

Задает пользовательскую переменную или одну из следующих системных переменных:

• SQL.LNO (текущий номер строки)

• SQL.PNO (текущий номер страницы)

• SQL.RELEASE (текущий номер реализации ORACLE)

• SQL.SQLCODE (текущий код ошибки)

• SQL.USER (текущее имя пользователя) • Чтобы вывести одно из этих значений, используйте соответствующее имя в заголовке. Можно форматировать переменную фразой FORMAT.

OFF Выключает заголовок (запрещает его вывод) не влияя на его описание.

ON Включает заголовок (разрешает его вывод). Когда вы описали верхний заголовок, SQL*PLUS автоматически устанавливает TTITLE в ON.

COL n Перемещение в столбец n текущей строки. “Колонка” в данном контексте означает позицию печати, но не столбец таблицы.

S[KIP] [n] Пропуск n строк; если вы опустили n, пропускается одна строка; если n=0, то возврат в начало текущей строки.

TAB n Пропуск n столбцов (перемещение назад, если вы задали отрицательное число). “Колонка” в данном контексте означает позицию печати,но не столбец таблицы.

LE[FT] Выравнивание влево CE[NTER] Выравнивание по центру R[IGHT] Выравнивание вправо LEFT, CENTER и RIGHT используют значение SET LINESIZE для вычисления позиции, в которую необходимо поместить данные.

BOLD Печатает данные полужирным шрифтом. SQL*PLUS показывает полужирную печать на терминале повторением данных на трех последовательных строках.

FORMAT симв Задает модель формата, которая определяет формат для последующих элементов данных. Модель формата должна быть символьной константой, такой как А10 или $999- но не переменной.

Если тип данных модели формата не соответствует типу элемента данных, фраза FORMAT не оказывает влияния на данный элемент.

Если данное несоответствие обнаружено, то SQL*PLUS печатает числовые значения, используя формат по умолчанию для числовых значений или формат заданный фразой SET NUMFORMAT. Данные типа DATE выводятся в формате по умолчанию.

SQL*PLUS интерпретирует TTITLE в новом формате, если допустимая фраза printspec (LEFT, SKIP, COL, и т.д.) следует непосредственно за именем команды. Смотри описание COLUMN NEW_VALUE для печати столбцов и дат в верхнем заголовке.

Вы можете использовать любое количество констант и переменных в printspec. SQL*PLUS будет выводить константы и переменные в указанном вами порядке, позиционируя и форматируя каждую Лист 89 из 126 Владимир Новик webmaster@deltacom.co.il Справочник. SQL,PL/SQL,SQL*Plus Интернет-издание www.deltacom.co.il/rus константу и переменную в соответствии с предшествующей фразой printspec.

Примеры: Чтобы определить верхний заголовок: “Данные месяца” выровненным влево, дату по центру и справа номер страницы, и вывести “В тысячах” полужирным шрифтом в центре следующей строки, введите:

SQL TTITLE LEFT ‘Данные месяца’ CENTER ‘11 Mar 88’ RIGHT ‘Стр:’ FORMAT 999 SQL.PNO SKIP CENTER BOLD -‘В тысячах’

В результате будет следующий заголовок:

Данные месяца 11 Mar 88 Стр: 1 В тысячах Чтобы подавить вывод заголовка без изменения его описания, введите: SQL TTITLE OFF UNDEF[INE] переменная Команда UNDEFINE уничтожает переменную пользователя, которую вы создали явно (командой DEFINE) или неявно (с помощью аргументов команды START).Переменная имя переменной пользователя, которую вы хотите удалить.Примеры: Для удаление переменной с именем POS, введите: SQL UNDEFINE POS

–  –  –

SET (Установить значения системных переменных) SET системная_переменная значения

Команда SET настраивает окружение SQL*PLUS для текущего сеанса:

устанавливает ширину вывода данных NUMBER устанавливает ширину вывода данных LONG разрешает/запрещает печать заголовков столбцов устанавливает количество строк на странице

–  –  –

ARRAY[SIZE] {20 | n} Устанавливает количество строк называется пакетом, которые SQL*PLUS выбирает из БД за один раз. Допустимое значение от 1 до 5000. Большее число повышает эффективность запросов и подзапросов, выбирающих много записей, но требует больше памяти в операционной системе.

ARRAYSIZE не влияет на выполнение операций SQL*PLUS.

AUTO[COMMIT] {OFF | ON | IMM[EDIATE]} Задает время проведения отложенных изменений в базе данных. ON заставляет SQL вносить произведенные изменения в БД сразу же после выполнения любой команды SQL или блока PL/SQL. OFF отменяет автоматическое сохранение, и вам придется самостоятельно сохранять изменения (например, командой SQL COMMIT). IMMEDIATE- эквивалентна опции ON.

BLO[CKTERMINATOR] {. | c} Устанавливает не алфавитно-цифровой символ, используемый в конце блоков PL/SQL. Чтобы выполнить блок, вы должны использовать команды RUN или /.

CMDS[EP] {; | c | OFF | ON} Устанавливает не алфавитно-цифровой символ, используемый для разделения нескольких команд SQL*PLUS, вводимых на одной строке. ON/OFF разрешает/запрещает использование нескольких команд на одной строке; ON автоматически устанавливает точку с запятой (;) в качестве символа разделителя команд.

COM[PATIBILITY] {V5 | V6} Задает, сохранять или нет SQL*PLUSу команды COMMIT и ROLLBACK в буфере SQL. V5 не сохраняет COMMIT и ROLLBACK в буфере SQL; V6наоборот; Установите COMPATIBILITY в V5, если вы хотите выполнить командный файл, разработанный для пятой версии ORACLE;... V6- для шестой версии ORACLE. Смотрите описание команд COMMIT и ROLLBACK в “Справочное руководство по языку SQL”.

CON[CAT] {. | c | OFF | ON} Устанавливает символ, который вы можете использовать для разделения имени подстановочной переменной от другого текста, если он примыкает вплотную к данной переменной. Если вы задали COMCAT ON, то SQL*PLUS восстанавливает значение символа по умолчанию, т.е. точку.

COPYC[OMMIT] {0 | n} Задает количество пакетов, после которых команда COPY производит изменения в БД. Команда COPY производит изменения строк в целевой БД каждый раз, когда скопирует n пакетов строк.

Допустимое значение от 0 до 5000. Длина пакета задается переменной ARRAYSIZE. Если вы задали COPYCOMMIT в 0, то COPY производит изменения только после окончания операции копирования.

CRT crt Изменяет CRT-файл по умолчанию, используемый командой SQL*PLUS RUNFORM. Чтобы восстановить первоначальное имя crt, задайте SET CRT “”.

Вы можете задавать имя-crt при вызове формы:

SQL RUNFORM -c NEW имя_формы или SQL SET CRT NEW SQL RUNFORM имя_формы При втором способе, SQL*PLUS запоминает имя-crt,. поэтому, при вызове формы не надо задавать имяcrt в течение данного сеанса.

–  –  –

ESC[APE] {\ | c | OFF | ON} “c” определяет ESCAPE-символ. OFF отменяет этот символ. ON разрешает ESCAPE-символ.

Если ESCAPE-символ определен, то его можно использовать, например, перед символом, объявленным в команде DEFINE, для обозначения того, что такой символ является обычным символом.

–  –  –

FLU[SH] {OFF | ON} Задает, когда посылать результаты на устройство вывода пользователя. OFF разрешает операционной системе буферный вывод. ON запрещает буферизацию. OFF следует применять для командных файлов работающих не интерактивно (т.е., когда нет необходимости в выводимых сообщениях пока не закончится командный файл). Чем меньше операций ввода/ вывода, тем быстрее работает программа.

HEA[DING] {OFF | ON} Управляет печатью заголовков столбцов. ON заставляет SQL печатать заголовки в отчетах; OFFзапрещает;

HEADS[EP] {| | c | OFF | ON} Устанавливает символ- разделитель заголовка. Можно использовать данный символ в команде COLUMN или в старых формах BTITLE и TTITLE для разделения заголовков на несколько строк. ON/OFF включают/выключают разделитель. Когда разделитель заголовков выключен, SQL*PLUS воспринимает символ-разделитель как обычный символ.

–  –  –

MAXD[ATA] n Устанавливает максимальную ширину строки, которую SQL*PLUS может обрабатывать. Максимальное и значение по умолчанию для n зависит от типа операционной системы. Смотри руководство по установке ORACLE и руководство пользователя для вашей ОС, или обратитесь к администратору БД.

NEWP[AGE] {1 | n} Устанавливает количество пустых строк, печатаемых между началом каждой страницы и верхним заголовком. Значение равное нулю заставляет SQL*PLUS выводить между страницами символ перевода листа и очищать экран на большинстве типов терминалов.

–  –  –

NULL текст Устанавливает текст, который SQL*PLUS отображает для представления пустой величины. NULL без указания “текста” побуждает SQL*PLUS выводить пробелы (по умолчанию). Используйте фразу NULL команды COLUMN для замены данного значения для некоторого столбца.

NUMF[ORMAT] формат Устанавливает формат, используемый по умолчанию для вывода на экран числовых элементов данных.

Укажите числовой формат для “формат”. Описание форматов смотри в описании фразы FORMAT команды COLUMN.

–  –  –

PAGES[IZE] {14 | n} Устанавливает количество строк между заголовком и концом страницы.

Для листа в 11 дюймов задают 54 (плюс NEWPAGE=6). Вы можете установить PAGESIZE в 0, чтобы подавить все заголовки, прерывания страниц, начальные пустые строки и другую информацию для форматирования.

PAU[SE] {OFF | ON | текст} Позволяет управлять скролированием на терминале во время выполнения отчета. Вы должны нажать [Return] или [Clear] после каждой паузы.

ON заставляет SQL*PLUS создавать паузу перед выводом каждой страницы отчета. Текст определяет сообщение SQL*PLUSа во время паузы.

Текст с пробелами необходимо заключать в одиночные кавычки. Можно использовать терминальные escape последовательности в команде PAUSE; т.е. можно вывести сообщение в инверсном режиме и т.д.

RECSEP {WR[APPED] | EA[CH] | OFF}

и RECSEPCHAR { |c} Выводит или печатает разделитель записей. Разделитель записей состоит из одной строки, в которой символ “c” повторяется LINESIZE раз. RECSEPCHAR описывает символ разделения записей. По умолчанию это пробел.

RECSEP сообщает SQL*PLUS, где необходимо отображать разделение записей. Например, если RECSEP WRAPPED, то SQL*PLUS выведет разделитель записей только после свернутой строки; если RECSEP EACH, то разделитель будет выводиться после каждой записи. Если вы установите RECSEP в OFF, то SQL*PLUS не будет выводить символ- разделитель записей.

–  –  –

SQLC[ASE] {MIX[ED] | LO[WER] | UP[PER]} Переводит регистр команд SQL или блоков PL/SQL перед выполнением.

SQL*PLUS переводит весь текст команды, включая литералы в кавычках, следующим образом:

• верхний регистр, если SQLCASE=UPPER

• нижний регистр, если SQLCASE=LOWER

• без изменения, если SQLCASE=MIXED

–  –  –

SQLCASE не изменяет содержимое буфера SQL.

SQLCO[NTINUE] { | текст} Устанавливает последовательность символов, выводящихся в качестве подсказки для продолжения командной строки SQL*PLUS (для продолжения используют символ переноса “-“).

SQLN[UMBER] {OFF | ON} ON устанавливает, что для второй и последующих строк команды SQL подсказкой будет номер строки.

OFF позволяет изменять подсказку через SQLPROMPT.

SQLPRE[FIX] {# | c} Устанавливает символ префикса SQL. В то время, как вы выводите команду SQL*PLUS за подсказкой SQL, вы можете на отдельной строке, которой предшествует символ префикса SQL, ввести команду SQL. SQL будет выполнять команду SQL, независимо от того, что введена команда SQL*PLUS.

–  –  –

SQLT[ERMINATOR] {; | c | OFF | ON} Устанавливает символ, использующийся для завершения команды SQL. OFF означает, что отменяются все символы окончания команды SQL; пользователь заканчивает команду SQL вводом пустой строки. ON устанавливает символ окончания в значение по умолчанию (;).

SUF[FIX] {SQL | текст} Устанавливает использующееся по умолчанию расширение имени файла, которое SQL*PLUS использует в командах, ссылающихся на командные файлы. SUFFIX не влияет на расширение файла для вывода (при буферизации).

TAB {OFF | ON} OFF заставляет SQL*PLUS использовать символ табуляции для форматирования абзаца в выходных данных. ON заставляет SQL*PLUS использовать для этого пробелы. Значение для TAB по умолчанию является системно-зависимым.

Введите SHOW TAB для того, чтобы посмотреть значение по умолчанию для вашей системы.

TERM[OUT] {OFF | ON} OFF запрещает отображение выходных данных, генерируемых командами, выполняющимися из файла, в результате чего вывод может быть буферизован без вывода экран. ON разрешает отображение выходных данных.

TERMOUT OFF не влияет на вывод команд введенных интерактивно.

–  –  –

TIMI[NG] {OFF | ON} Управляет выводом временной статистики. ON выводит временную статистику по каждой выполненной команде SQL или блоку PL/SQL. OFF запрещает вывод. Информацию о SET TIMING ON смотри в руководстве по установке пользователя и в руководстве пользователя по вашей операционной системе.

BUF[FER] {буфер|SQL} Команда SET BUFFER делает указанный буфер для хранения команд активным. SQL*Plus использует только один буфер—т.н. SQL-буфер.

В начале сеанса активным будет именно он. Как правило, одного буфера вполне хватает.

Если Вы введете имя несуществующего буфера, то он будет автоматически создан и ему будет

–  –  –

присвоено указанное имя. Дополнительные буферы исчезают при выходе из SQL*Plus.

Запуск выполнения запроса автоматически делает SQL-буфер активным. Для копирования текста из буфера в буфер можно использовать команды GET и SAVE. Команда CLEAR BUFFER уничтожает текст в активном буфере.

Команда CLEAR SQL уничтожает текст в SQL-буфере, даже если в данный момент активен другой буфер.

DOC[UMENT] {OFF|ON} При помощи команда SET DOCUMENT можно включать (ON) и отключать (OFF) возможность ввода комментариев после команды DOCUMENT.

После выполнения SET DOCUMENT OFF (отключение) все строки, введенные после команды DOCUMENT будут восприниматься как команды, а не как комментарии. Подробности можно найти в описании команды DOCUMENT.

TRU[NCATE] {OFF|ON} Команда SET TRUNCATE позволяет указывать, что данные, которые при выводе результатов не умещаются на одной строке, следует отбрасывать (ON), а не переносить (OFF). Следует заметить, что результаты команд SET TRUNCATE ON и SET WRAP OFF аналогичны. Рекомендуется, однако, пользоваться командой SET WRAP, т.к. команда SHOW не “знает” параметра TRUNCATE.

TRIM[OUT] {OFF | ON} Определяет, как выводит SQL*PLUS конечные пробелы в конце каждой строки. ON удаляет пробелы в конце каждой строки, улучшая характеристики при взаимодействии с ORACLE через медленные устройства. OFF разрешает отображение завершающих пробелов. TRIMOUT ON не привязан к буферному выводу; он игнорируется, если не установлен SET TAB ON.

UND[ERLINE] {- | c | OFF | ON} “c” устанавливает символ, использующийся для подчеркивания заголовков столбцов в отчетах SQL*PLUS. ON/OFF включает/выключает подчеркивание, независимо от значения “c”.

VER[IFY] {OFF | ON} ON заставляет SQL*PLUS выводить текст командной строки до и после замещения указателей подставляемых переменных действительными величинами. OFF отменяет вывод.

WRA[P] {OFF | ON} OFF отсекает отображаемые элементы данных, если их длина больше ширины текущей строки. ON разрешает элементам данных “переноситься” на следующую строку.

Используйте фразы WRAPPED и TRUNCATED команды COLUMN, чтобы отменить установки WRAP для описанных столбцов.

SQL*PLUS поддерживает системные переменные (их также называют переменными команды SET), которые позволяют настраивать окружение SQL*PLUS в данном сеансе. Можно изменять их значения командой SET и смотреть их текущие значения командой SHOW.

Замечание: SET TRANSACTION READ ONLY является командой SQL; смотри справочное руководство по языку SQL.

Примеры: Рассмотрим несколько примеров использования переменных команды

COMPATIBILITY:

Чтобы выполнить командный файл, SALARY.SQL, созданный для версии 5 ORACLE, введите:

SQL SET COMPATIBILITY V5

SQL START SALARY

После выполнения файла, восстановим режим эмуляции в V6:

SQL SET COMPATIBILITY V6

Вы можете добавить команду SET COMPATIBILITY V5 в начало командного файла и восстановить эмуляцию в конце командного файла SET COMPATIBILITY V6.

–  –  –

SQLCONTINUE:

Чтобы установить подсказку продолжения команд SQL*PLUS равной восклицательному знаку и пробелу, введите:

SQL SET SQLCONTINUE ‘! ‘

SQL*PLUS будет выдавать новую подсказку для строк-продолжений:

SQL TTITLE ‘YEARLY INCOME’ RIGHT SQL.PNO SKIP 2 CENTER ‘PC DIVISION’

SQL

–  –  –

Функция LPAD может использоваться для форматирования переменной при выводе данных FOR с курсором DECLARE CURSOR emp_cursor(dnum NUMBER) IS SELECT sal, comm FROM emp WHERE deptno=dnum;

high_paid NUMBER(4) := 0;

BEGIN FOR emp_record IN emp_cursor(20) LOOP emp_record.comm := NVL(emp_record.comm, 0);

total_wages := total_wages + emp_record.sal + emp_record.comm;

IF emp_record.sal 2000.00 THEN high_paid := high_paid + 1;

END IF;

END LOOP;

INSERT INTO temp VALUES (high_paid, higher_comm, Сумма выплат: ‘ || TO_CHAR(total_wages));

‘ COMMIT;

END;

функции преобразования

Вычисление кол-ва оставшихся дней в году после 31 Мая 1989:

SELECT SYSDATE, TO_DATE(‘01-JAN-90’) - ROUND(SYSDATE) “Осталось” FROM dummy;

SYSDATE Осталось 31-May-89 214 Подсчет кол-ва служащих, нанятых в разные годы.

Нанято в COUNT(*) SELECT TO_CHAR(hiredate,’YYYY’) “Нанято в”, COUNT(*) FROM emp GROUP BY TO_CHAR(hiredate, ‘YYYY’);

–  –  –

ORDER BY sal DESC;

name emp.ename%TYPE;

salary emp.sal%TYPE;

BEGIN OPEN c1;

FOR i IN 1..

5 LOOP FETCH c1 INTO name, salary;

EXIT WHEN c1%NOTFOUND;

INSERT INTO tmp VALUES(name, salary);

COMMIT;

END LOOP;

CLOSE c1;

END;

двойной курсор В процедуре может использоваться произвольное количество курсоров. При этом следует учитывать что операция SELECT курсора выполняется только в момент открытия. Поэтому в выражении WHERE может использоваться любая переменная, находящееся в области видимости DECLARE CURSOR my_cursor IS SELECT * FROM ALL_TABLES WHERE OWNER=’&NEW_OWNER’;

multiplied_sal my_cursor%ROWTYPE;

CURSOR MY_COLUMN IS

SELECT * FROM ALL_TAB_COLUMNS WHERE OWNER=multiplied_sal.OWNER AND TABLE_NAME=multiplied_sal.TABLE_NAME;

mul_COL MY_COLUMN%ROWTYPE;

BEGIN OPEN my_cursor;

LOOP FETCH my_cursor INTO multiplied_sal;

EXIT WHEN my_cursor%NOTFOUND;

DBMS_OUTPUT.ENABLE(10000);

DBMS_OUTPUT.PUT_LINE(multiplied_sal.TABLE_NAME);

DBMS_OUTPUT.PUT_LINE(‘----------------------‘);

DBMS_OUTPUT.NEW_LINE;

OPEN MY_COLUMN;

LOOP FETCH MY_COLUMN INTO mul_COL;

EXIT WHEN MY_COLUMN%NOTFOUND;

DBMS_OUTPUT.PUT_LINE(‘..................’|| mul_COL.COLUMN_NAME);

DBMS_OUTPUT.NEW_LINE;

END LOOP;

CLOSE MY_COLUMN;

END LOOP;

END;

/

–  –  –

TRIGGER (Процедура автозапуска) Под триггером понимается процедура с автоматическим запуском по событиям над таблицей.

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

В триггере переменная :NEW и переменная OLD есть переменные строкового типа ( %ROWTYPE ) и которые содержат поля как в записи. Для изменении данных в записи до изменения (BEFORE) достаточно в поле :NEW.имя поля записи присвоить требуемое значение.

CREATE OR REPLACE TRIGGER MyEdit после ( до ) каких операций запускать триггер •

AFTER INSERT OR UPDATE OR DELETE

-- на какие поля наложить триггер.

-- Не обязательно указывать OF my_field ON AutoPark – на какую таблицу наложить триггер FOR EACH ROW – запускать для каждой строки BEGIN если были произведены вставка или изменение •

IF INSERTING OR UPDATING

THEN INSERT INTO Direction VALUES( :NEW.CarNumber, :NEW.CarType, :NEW.DriverName, :NEW.XCurrent, :NEW.YCurrent, :NEW.LastDate, :NEW.LastTime, :NEW.PassQuant, :NEW.Parol);

END IF;

если была произведена операция удаления • IF DELETING THEN DBMS_OUTPUT.PUT_LINE(‘Car N ‘||:OLD.CarNumber|| ‘ there is no in the park!!!’);

END IF;

END;

создание пакета Пакет - набор процедур, функций и глобальных переменных пакета, объединенных с целью их совместного использования в приложении.

При создании пакета создаётся интерфейсная часть и часть пакета называемая “Телом”

• создание интерфейсной части пакета

• Данная часть определяет какие из процедур и функций пакета будут доступны пользователям

–  –  –

drop public synonym pack1;

/ create public synonym packALL for pack1;

/ grant execute on packALL to public;

Процедуры в данном пакте - пустые. Пример ничего полезного не делает,а служит примером построения пакета.

–  –  –

WHEN bad_employee_num OR bad_acct_num THEN ROLLBACK;

WHEN ZERO_DIVIDE

--особая ситуация PL/SQL THEN INSERT INTO inventory_table VALUES (product_name, quantity);

COMMIT;

END;

–  –  –

HIRED MONTHLY ENAME

06-09-96 $2450 CLARK 05-01-95 $2850 BLAKE 04-02-97 $2975 JONES 01-05-94 $5000 SCOTT 12-03-90 $7000 FORD 11-17-92 $8000 KING Функция LPAD может использоваться для форматирования переменной при выводе данных

–  –  –

Если нужно получать информацию, только если самая низкая зарплата в отделе меньше 1000:

SELECT deptno, MIN(sal), MAX(sal) FROM emp WHERE job = ‘CLERK’ GROUP BY deptno HAVING MIN(sal) 1000;

–  –  –

INSERT

Добавление информации о новом служащем в таблицу emp:

INSERT INTO emp(empno, ename, job, mgr, hiredate, sal, comm, deptno) VALUES(7979, ‘POWERS’, ‘ANALYST’, 7839, ‘1-JUN-89’, 3600, NULL, 10);

Чтобы добавить информацию из другой таблицы, следует заменить подзапросом список VALUES, например:

INSERT INTO bonus (ename, job, sal, comm) SELECT ename, job, sal, comm FROM emp WHERE ename = ‘KING’;

–  –  –

Нахождение служащих с фамилией, начинающейся с буквы ‘M’:

SELECT ename, job, deptno FROM emp WHERE ename LIKE ‘M%’;

LOCK TABLE В данном примере оператор LOCK TABLE запрещает выполнять все действия,кроме запросов, с таблицей emp. Слово NOWAIT говорит о том, что если таблица заблокирована другим пользователем, то следует продолжить выполнение программы, не дожидаясь снятия блокировки.

LOCK TABLE emp IN EXCLUSIVE MODE NOWAIT;

ост_часть_транзакции COMMIT;

В следующем примере таблица accounts блокируется в разделенном режиме (SHARED), который позволяет выполнять запросы, но запрещает добавления, обновления и стирания.

LOCK TABLE accounts IN SHARE MODE;

ост_часть_транзакции COMMIT;

NEXTVAL Предположим, что существует последовательность по имени custnoseq, описанная след. образом CREATE SEQUENCE custnoseq INCREMENT BY 10;

и таблица customer (клиент) со столбцами custno (номер), fname (имя) и lname (фамилия). Значение custnoseq.NEXTVAL используется для создания уникального номера нового клиента, добавляемого в таблицу. Этот номер будет на 10 больше, чем наибольший существующий номер клиента.

INSERT INTO cust VALUES (custnoseq.NEXTVAL, ‘Stanley’, ‘Daleson’);

Предполагая, что существует таблица custbal со столбцами custno и bal, можно выполнить нижеприведенный оператор для добавления записи о балансе неуплаты нового клиента, только что внесенного в таблицу customer.

INSERT INTO custbal VALUES (custnoseq.CURRVAL, 144.12);

–  –  –

Заметьте, что всегда следует использовать IS или IS NOT. Операции сравнения или = со значением NULL всегда вырабатывают FALSE (ложь).

Чтобы записать в столбец пустое значение используйте два следующих друг за другом апострофа, вот так:

INSERT INTO emp VALUES (8905, ‘POST’, ‘’, 7698,...);

–  –  –

SET TRANSACTION

Некая компания в конце каждого месяца проверяет кол-во имеющихся у нее кораблей и контейнеров.

Для этого используется такая последовательность операторов:

COMMIT;

SET TRANSACTION READ ONLY;

SELECT COUNT(*) FROM ship;

SELECT COUNT(*) FROM container;

COMMIT;

Последний оператор COMMIT служит для завершения транзакции типа READ ONLY.

Каждый оператор SELECT во время транзакции типа READ ONLY (только чтение) выбирает записи из “моментального снимка” базы данных, не замечая изменений, вносимых другими пользователями.

–  –  –

Запросы, использующие операторы множеств UNION, INTERSECT и MINUS должны извлекать одинаковое кол-во столбцов. Типы данных соотв. столбцов в разных запросах должны совпадать.

–  –  –

Чтобы найти ранг оклада каждого служащего, делаем:

SELECT ename, job, grade, sal FROM emp, salgrade WHERE sal BETWEEN losal AND hisal ORDER BY ename

–  –  –

подзапрос Этот подзапрос позволяет повысить оклад каждому зав отделом в Далласе до самой высокой ставки в компании.

UPDATE emp SET sal = (SELECT MAX(sal) FROM emp) WHERE JOB = ‘MANAGER’ AND DEPTNO IN (SELECT deptno FROM dept WHERE loc = ‘DALLAS’);

Если подзапрос извлекает только одно значение, то для сравнения с ним используется знак ‘=’. Если же подзапрос извлекает более одного значения, то вместо ‘=’ следует писать слово IN.

Чтобы посмотреть список поощренных сотрудников, неменявших место работы, вводим:

SELECT empno, ename FROM emp WHERE (job, ename) = (SELECT job, enam e FROM bonus);

WHERE CURRENT OF

Использование внутри процедуры изменение данных по курсору является предпочтительным в связи с тем, что изменения ключевых полей другим пользователем не приведёт к ошибке при работе программы.

При работе с большими базами данных по курсору следует учитывать размер ROLLBACK сегмента. При необходимости внутри процедуры может использоваться оператор COMMIT для утверждения произведённых изменений и очистки сегмента отката.

Приведенная здесь процедура на языке PL/SQL делает отметки в таблице today, устанавливая для закончившихся операций поле status = DONE (сделано). Подобные действия могут выполняться, к примеру, над таблицей счетовых балансов в конце каждого дня.

DECLARE CURSOR c1 IS SELECT action, acct FROM today FOR UPDATE OF status;

the_action today.act%TYPE;

acct_num today.acct%TYPE;

BEGIN OPEN c1;

LOOP FETCH c1 INTO the_action, acct_num;

EXIT WHEN c1%NOTFOUND;

--операторы, выполняющие какие-то действия...

UPDATE today SET status = ‘done’ WHERE CURRENT OF c1;

END LOOP;

CLOSE c1;

COMMIT;

END;

WHILE Предположим, что в фонде заработной платы ваших служащих имеется свыше $50 000 и Вы хотите пропорционально увеличить оклад каждого из них. Приведенный в данном примере цикл последовательно увеличивает каждый оклад на 10% до тех пор, пока общая сумма окладов не станет равна или не превысит $50 000.

DECLARE total_sal NUMBER(5);

BEGIN SELECT SUM(sal) INTO total_sal FROM emp;

WHILE total_sal 50000 LOOP UPDATE emp SET sal = sal * 1.10;

SELECT SUM(sal) INTO total_sal FROM emp;

END LOOP;

–  –  –

Дополнительные примечания Ниже приведены наиболее характерные ошибки, встречаемые при работе с у ORACLE неподготовленного пользователя.

• Не вставляйте в имена объектов пробелы. Если надо разделить можно использовать символ нижнего подчёркивания ( имена вида MM_KKK_CCC )

• Сохранённые процедуры SQL файла запускать только по команде @имя файла SQL

• Не вводите несколько команд SQL в один буфер SQL

• Активнее используйте параметры командного файла ( &1, &2.... и запуск файла вида @abc.sql ffff hhhhh)

• Для устранения выдачи сообщений на экран вводить директиву SET TERMOUT OFF;

• Для устранения выдачи на экран режима проверки автоподстановки ( &Имя переменной ) необходимо использовать директиву SET VERIFY OFF;

• Для сохранения текущего буфера на диск использовать директиву SAVE Имя файла SQL При этом данная команда обеспечивает как создание нового файла,так и дополнение текущей командой. Однако для добавления необходимо использовать ключ /APP

• Активнее используйте режим добавления буфера SQL в файл данных (Опция SAVE в меню SQL*PLUS)

• Доступ к функциям осуществляется только в режиме PL/SQL или по директиве EXECUTE Имя функции

• Примечания указываются символами – при этом все символы после – игнорируются

• Команды SQL, введенные Вами, хранятся в буфере SQL.

• Команда может располагаться как на одной, так и на нескольких строках.

• Чтобы закончить ввод и выполнить команду надо ввести точку с запятой (;), пустую строку или косую черту (/) в отдельной строке.

• Перед каждой дополнительной строкой SQL*Plus высвечивает соответствующий ей номер.

• Чтобы записать содержимое буфера в файл, введите команду SAVE Имя файла

• Чтобы выполнить команду, находящуюся в буфере SQL следует (в ответ на приглашение SQL*Plus-а) ввести команду RUN или косую черту (/).

• Программы (блоки) на PL/SQL также хранятся в буфере SQL. Чтобы закончить ввод блока PL/SQL следует ввести на отдельной строке точку (.).

• Выполнить находящийся в буфере блок можно так же, как и команду SQL—введя RUN или косую черту (/).

• В тексте блоков PL/SQL и команд SQL можно вставлять комментарии в виде /* комментарий */ или при помощи оператора REMARK. ( В Personal Oracle-7 не рекомендуется)

• В блоках PL/SQL можно начать комментарий двумя минусами (--). Такой комментарий заканчивается вместе со строкой.

• Команды SQL*Plus можно заканчивать символом ; (точка с запятой), но это не обязательно.

• Команды SQL*Plus не сохраняются в буфере SQL.

• Для создания файлов, содержащих команды SQL*Plus, используйте команду EDIT. При этом будет вызван текстовый редактор Notepad. (Для изменения применяемого текстового редактора - смотри команду SET)

• Окончание редактирования буфера SQL по команде Exit в редакторе Notepad

• Не рекомендуется сохранять из текстового редактора Notepad, (Вызванного по команде EDIT SQL*Plus) в файл.

–  –  –

• Файл команд запускается командой START или @.

• Oracle-7 не поддерживает использование длинных имен файлов, поэтому нельзя использовать длинные имена файлов и директорий ( имя файла - 8 знаков до точки и 3 знака на тип файла )

• Все имена объектов в Oracle-7 должны вводиться на английском языке без пробелов. Допускается использование нижнего подчеркивания.

• Можно также использовать комментарии типа /*комментарий */, но они не могут быть расположены в одной строке с командой SQL*Plus—они должны стоять на отдельных строках. ( В Personal Oracle-7 использовать не рекомендуется )

• Почти везде, где идёт вопрос о создании объекта ORACLE можно добавить ключевое слово OR REPLACE. При этом объект будет заменён.

• Длинные команды SQL*Plus можно разбить на несколько строк, используя символ продолжения минус) в конце каждой не последней строки. Строка, не законченная символом - заканчивает команду и вызывает ее выполнение.

• В процедурах и функциях необходимо использовать ROLLBACK в обработке исключительных ситуаций.

• При использовании Директивы CURRENT OF имя_курсора в условиях отбора WHERE операторов UPDATE или DELETE необходимо в процедуре в операторе DECLARE объявить курсор с ключом FOR UPDATE; Для изменения данных в процедуре по мере возможности рекомендуется использовать обновление данных по курсору.

• В процедуре и функции необходимо в обязательном порядке использовать оператор COMMIT и ROLLBACK. Причем ROLLBACK необходимо применять в EXCEPTION блоке для всех аварийных ситуаций

• Для издания команд администратора базы данных (DBA) необходимо использовать SQLDBA.EXE.

или SQLDBA72.72 (Директория ORAWIN95\BIN) В режиме SQL*Plus 3.2 команды администратора базы данных не работают.( не хватает привилегий )

• При использовании в процедуре или функции административной утилиты необходимо использовать процедуру DBMS_OUTPUT.PUT_LINE(‘текст’) DBMS_OUTPUT.ENABLE(size) для установки размера буфера промежуточного хранения данных.

Данная команда не явным образом очищает содержимое буфера вывода на экран. Без её применения возможна ошибка переполнения буфера вывода.( максимальный размер 1 000 000 байт )

• В данных типа DATE (Дата) можно хранить не только саму дату но и время. По умолчанию сохранённое, время не отображается. Для её получения необходимо явным образом преобразовать с помощью функции TO_CHAR пример: TO_CHAR(SYSDATE, ‘MM-DD-YYYY HH24:MI:SS’) Для преобразования из формата внешнего представления даты и времени в формат внутреннего хранения необходимо применять функцию TO_DATE

• Для редактирования имени объекта связи (SID) для WINDOWS-95 используется программа REGEDIT имя которой нужно набрать в меню RAN. Имя объекта связи по умолчанию - ORCL

• При назначении ролей у пользователя необходимо использовать защищённые роли. Роли должны быть назначены.

• Используйте при создании пользователя назначение ему табличной области по умолчанию. ( DEFAULT TABLESPACE ). После этого создание любого обьекта будет осуществлено в указанной табличной области.

• Для выравнивания колонки при применении оператора SELECT c колонкой VARCHAR2 используйте RPAD

• Для обеспечения корректной работы с базой данных в ASP ADO необходимо устанавливать TAG

HTML:

!-- METADATA NAME="Microsoft ActiveX Data Objects 2.5 Library" TYPE="TypeLib" UUID="{00000205AA006D2EA4} - -

Данное издание будет отредактировано по Вашим вопросам. Направляйте их:

webmaster@deltacom.co.il На наиболее интересные вопросы автор ответит Вам на e-Mail Данное издание не косается особенностям применения Оracle-Server в ADO и ASP. Этой теме будет

–  –  –

ЗАРЕЗЕРВИРОВАННЫЕ СИМВОЛЫ

ЗАРЕЗЕРВИРОВАННЫЕ СЛОВА

ОБЗОР

ОСНОВНЫЕ ПОНЯТИЯ

ТАБЛИЦЫ, СТОЛБЦЫ И СТРОКИ

ТРАНЗАКЦИИ (НЕДЕЛИМАЯ ПОСЛЕДОВАТЕЛЬНОСТЬ)

ФОРМА ОПИСАНИЯ СИНТАКСИСА

ИМЕНА И ПАРОЛИ PERSONAL-ORACLE-7

ИДЕНТИФИКАЦИЯ ПОЛЬЗОВАТЕЛЯ

ВВОД И ВЫПОЛНЕНИЕ КОМАНД:

ФАЙЛЫ, ИСПОЛЬЗУЕМЫЕ SQL*PLUS

ВЫПОЛНЕНИЕ КОМАНД ОПЕРАЦИОННОЙ СИСТЕМЫ

ПРОГРАММА SQL*PLUS

ПОНЯТИЯ ЯЗЫКА

АЛИАС (АЛЬТЕРНАТИВНОЕ ИМЯ)

АРИФМЕТИЧЕСКИЕ ОПЕРАТОРЫ ЯЗЫКА SQL

БУЛЕВЫ СРАВНЕНИЯ

ОПЕРАТОРЫ СРАВНЕНИЯ

УСЛОВИЯ

ОГРАНИЧЕНИЕ FOREIGN KEY/REFERENCES:

DBA( АДМИНИСТРАТОР БАЗЫ ДАННЫХ )

РАЗДЕЛИТЕЛИ

КЛЮЧИ

ОБРАБОТКА ОШИБОК

ФУНКЦИИ ДИАГНОСТИРОВАНИЯ ОШИБОК

ВЫРАЖЕНИЯ

ФОРМАТИРОВАНИЕ ДАТ

МОДИФИКАТОРЫ ФОРМАТА

ФОРМАТИРОВАНИЕ ЧИСЕЛ

ИДЕНТИФИКАТОРЫ

НЕЯВНЫЕ ПРЕОБРАЗОВАНИЯ

ПРЕДЕЛЫ

СВЯЗИ

ЛИТЕРАЛЫ

ЛОГИЧЕСКИЕ ОПЕРАТОРЫ.

ПУСТЫЕ ЗНАЧЕНИЯ

ПРОЧИЕ ОПЕРАТОРЫ

ОПЕРАТОР ИЗБЫТОЧНОГО СОЕДИНЕНИЯ

ОСОБЫЕ СИТУАЦИИ В PL/SQL

ПАРАМЕТРЫ ФАЙЛОВ SQL (&1, &2).

ПСЕВДОСТОЛБЦЫ

QUIT (ПОКИНУТЬ)

ПРЕДСТАВЛЕНИЯ ДАННЫХ И ИНДЕКСЫ

ЗАПРОС(ТРЕБОВАНИЕ ИЗВЛЕЧЬ ДАННЫЕ)

УДАЛЕННЫЕ БАЗЫ ДАННЫХ

ДОСТУП К УДАЛЕННОЙ БД ИЗ SQL*PLUS

СОЕДИНЕНИЕ С УДАЛЕННОЙ БД ПРИ ЗАПУСКЕ SQL*PLUS

УПРАВЛЕНИЕ ЗАЩИТОЙ ДАННЫХ

Лист 120 из 126 Владимир Новик webmaster@deltacom.co.il Справочник. SQL,PL/SQL,SQL*Plus Интернет-издание www.deltacom.co.il/rus GRANT (ДОЗВОЛИТЬ)

REVOKE (ОТОБРАТЬ)

CONNECT (ПОДСОЕДИНИТЬСЯ)

DISCONNECT (ОТСОЕДИНИТЬСЯ)

СОЗДАНИЕ ОБЪЕКТОВ БАЗЫ ДАННЫХ

CREATE USER (СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ)

CREATE CLUSTER (СОЗДАТЬ КЛАСТЕР)

CREATE DATABASE (СОЗДАТЬ БАЗУ ДАННЫХ)

CREATE DB LINK (СОЗДАТЬ СВЯЗЬ С БД)

CREATE INDEX (СОЗДАТЬ ИНДЕКС)

CREATE ROLLBACK SEGMENT (СОЗДАТЬ СЕГМЕНТ ОТКАТА)

CREATE SEQUENCE (СОЗДАТЬ ПОСЛЕДОВАТЕЛЬНОСТЬ)

CREATE SYNONYM (СОЗДАТЬ СИНОНИМ)

CREATE TABLE (СОЗДАТЬ ТАБЛИЦУ)

CREATE TABLESPACE (СОЗДАТЬ ОБЛАСТЬ ХРАНЕНИЯ)

CREATE VIEW (СОЗДАТЬ ПРЕДСТАВЛЕНИЕ ДАННЫХ)

CREATE OR REPLACE PROCEDURE (СОЗДАТЬ ХРАНИМУЮ ПРОЦЕДУРУ)

CREATE ROLE

CREATE PROFILE ( СОЗДАТЬ ПРОФИЛЬ)

ИЗМЕНЕНИЯ ОБЬЕКТОВ

ALTER CLUSTER (ИЗМЕНИТЬ КЛАСТЕР)

ALTER DATABASE (МОДИФИЦИРОВАТЬ БАЗУ ДАННЫХ)

ALTER INDEX (МОДИФИЦИРОВАТЬ ИНДЕКС)

ALTER ROLLBACK SEGMENT (МОДИФИЦИРОВАТЬ СЕГМЕНТ ОТКАТА)

ALTER SEQUENCE (ИЗМЕНИТЬ ПОСЛЕДОВАТЕЛЬНОСТЬ)

ALTER TABLE (МОДИФИЦИРОВАТЬ ТАБЛИЦУ)

ALTER TABLESPACE (МОДИФИЦИРОВАТЬ ОБЛАСТЬ ХРАНЕНИЯ)

ALTER ROLE( ИЗМЕНИТЬ ПАРОЛЬ РОЛИ)

ALTER USER (МОДИФИЦИРОВАТЬ ПОЛЬЗОВАТЕЛЯ)

УДАЛЕНИЯ ОБЪЕКТОВ

DROP CLUSTER (УДАЛИТЬ КЛАСТЕР)

DROP INDEX (УНИЧТОЖИТЬ ИНДЕКС)

DROP ROLLBACK SEGMENT (УНИЧТОЖИТЬ СЕГМЕНТ ОТКАТА)

DROP SEQUENCE (УНИЧТОЖИТЬ ПОСЛЕДОВАТЕЛЬНОСТЬ)

DROP SYNONYM (УНИЧТОЖИТЬ СИНОНИМ)

DROP TABLE (УНИЧТОЖИТЬ ТАБЛИЦУ)

DROP TABLESPACE (УНИЧТОЖИТЬ ОБЛАСТЬ ХРАНЕНИЯ)

DROP VIEW (УНИЧТОЖИТЬ ПРЕДСТАВЛЕНИЕ ДАННЫХ)

МАНИПУЛЯЦИЯ ДАННЫМИ

SELECT ( ВЫБРАТЬ)

SELECT INTO( ВЫБРАТЬ И ПОМЕСТИТЬ В ПЕРЕМЕННУЮ)

СПИСОК SELECT(ВЫБОР ПО ПОЛЯМ )

СООТНОСЯЩИЙСЯ ПОДЗАПРОС

СОЕДИНЕНИЕ

INSERT (ДОБАВИТЬ)

UPDATE (ОБНОВИТЬ)

GROUP BY (И HAVING)- ГРУППИРОВКА

ОПЕРАТОР LIKE

РАСПРЕДЕЛЕННЫЙ ЗАПРОС

FROM (ИЗ)

ORDER BY (УПОРЯДОЧИВ ПО)

START WITH

CONNECT BY ( СОЕДИНИТЕСЬ )

ОПЕРАТОРЫ ОБРАБОТКИ МНОЖЕСТВ

–  –  –

ПОДЗАПРОС

ДРЕВОВИДНЫЙ ЗАПРОС(ПРЕДЛОЖЕНИЕ CONNECT BY)

WHERE ( ГДЕ, УСЛОВИЕ ОТБОРА )

PL/SQL

КОММЕНТАРИИ (SQL И PL/SQL)

SQL В PL/SQL

ПЕРЕМЕННЫЕ

WHENEVER SQLERROR (В СЛУЧАЕ ОШИБКИ SQL)

EXIT [SUCCESS | FAILURE | WARNING | N | ПЕРЕМЕННАЯ]

ПРАВИЛА ВИДИМОСТИ

НЕПОИМЕНОВАННЫЕ БЛОКИ

ВЫПОЛНЕНИЕ БЛОКОВ PL/SQL

DECLARE ( ОБЪЯВИТЬ ПЕРЕМЕННЫЕ )

BEGIN (НАЧАТЬ)

END (КОНЕЦ БЛОКА)

ИМЯ_МЕТКИ_1

FETCH (ИЗВЛЕЧЬ ЗАПИСЬ)

FOR UPDATE OF (ЧТОБЫ ОБНОВИТЬ)

CLOSE (ЗАКРЫТЬ)

DECLARE CURSOR (ОБЪЯВИТЬ КУРСОР)

КУРСОРЫ

OPEN курсор ( открыть курсор)

Атрибуты курсора

Цикл FOR с курсором (PL/SQL)

Курсор SQL%

УПРАВЛЕНИЕ ХОДОМ ВЫЧИСЛЕНИЙ

NULL ( Пустой оператор );

IF (если)

EXCEPTION (особая ситуация)

EXIT (выход)

Численный цикл FOR

LOOP (оператор цикла)

PRAGMA EXCEPTION_INIT(установить особую ситуацию )

RAISE( возбудить особую ситуацию)

WHERE CURRENT OF (работать по курсору)

WHILE (“Пока” Оператор цикла )

GOTO (перейти к)

ДОПОЛНИТЕЛЬНЫЕ ВОЗМОЖНОСТИ

ROLLBACK (ОТКАТ)

SAVEPOINT ( СОЗДАТЬ ТОЧКУ ОТКАТА )

SET TRANSACTION ( УСТАНОВИТЬ РЕЖИМ ОТБОРА)

SET ROLE

AUDIT (РЕВИЗИЯ)

COMMIT [WORK] (УТВЕРДИТЬ ТРАНЗАКЦИЮ)

COMMENT (КОММЕНТАРИЙ)

NOAUDIT( БЕЗ РЕВИЗИИ)

NOWAIT ( БЕЗ ОЖИДАНИЯ ОСВОБОЖДЕНИЯ )

RENAME (ПЕРЕИМЕНОВАТЬ)

VALIDATE INDEX (ПРОВЕРИТЬ ПРАВИЛЬНОСТЬ ИНДЕКСА)

LOCK TABLE (ЗАБЛОКИРОВАТЬ ТАБЛИЦУ)

ТИПЫ ДАННЫХ

BOOLEAN (ТИП ДАННЫХ )

CHAR(РАЗМЕР) ( ТИП ДАННЫХ )

DATE (ФОРМАТ ДАННЫХ ТИПА ДАТА)

ОСНОВНЫЕ ТИПЫ ДАННЫХ ORACLE

СОВМЕСТИМЫЕ ТИПЫ ДАННЫХ

Лист 122 из 126 Владимир Новик webmaster@deltacom.co.il Справочник. SQL,PL/SQL,SQL*Plus Интернет-издание www.deltacom.co.il/rus LONG ( ТИП ДАННЫХ )

LONG RAW( ТИП ДАННЫХ )

NUMBER ( ТИП ДАННЫХ )

RAW( ТИП ДАННЫХ “СЫРОЕ”)

КОМАНДЫ SQL*PLUS И ИХ ИСПОЛЬЗОВАНИЕ

ПОДСТАНОВКА (АМПЕРСЕНД (&))

СИМВОЛЫ & И && ( ПОДСТАНОВКА )

ОГРАНИЧЕНИЯ ПРИ ПОДСТАНОВКЕ ПЕРЕМЕННЫХ.

CONTINUE (ПРОДОЛЖЕНИЕ)

@ (ЗНАК “AT”, ЗАПУСК КОМАНДНОГО ФАЙЛА )

/ (НАКЛОННАЯ ЧЕРТА)

ACCEPT (ПРИНЯТЬ)

APPEND (ДОБАВИТЬ)

BREAK ( ОБЬЯВИТЬ ПЕРЕРЫВ В ОТЧЁТЕ)

CHANGE (ИЗМЕНИТЬ В БУФЕРЕ SQL)

COPY (СКОПИРОВАТЬ)

DEFINE (ОПРЕДЕЛИТЬ)

DEL ( УДАЛИТЬ БУФЕРНУЮ СТРОКУ)

DESCRIBE (ОПИСАТЬ)-ПОКАЗАТЬ ОПИСАНИЕ СТОЛБЦОВ

EDIT(РЕДАКТИРОВАТЬ)

EXIT ( ЗАВЕРШИТЬ SQL*PLUS)

GET (ВЗЯТЬ)- ЗАГРУЗИТЬ ФАЙЛ В БУФЕР SQL

HOST ( ВЫПОЛНИТЬ КОМАНДУ ОС)

INPUT(ДОБАВИТЬ В БУФЕР SQL)

LIST (ПОКАЗАТЬ СТРОКИ ИЗ БУФЕРА SQL)

PAUSE - (ОБЪЯВИТЬ ПАУЗУ)

PROMPT (ВЫВЕСТИ ТЕКСТ НА ЭКРАН)

REM[ARK]

RUN (ЗАПУСТИТЬ)

SAVE (СОХРАНИТЬ БУФЕР SQL В ФАЙЛЕ )

START (СТАРТ КОМАНДНОГО ФАЙЛА)

TIMING (ЗАПИСАТЬ ДАННЫЕ ХРОНОМЕТРИРОВАНИЯ)

SHOW (ПОКАЗАТЬ)

ALL

BTI[TLE]

LNO

PNO

REL[EASE]

SPOO[L]

SQLCODE

TTI[TLE]

USER

SQLPLUS (ЗАПУСК ПРОГРАММЫ)

КОМАНДЫ ФОРМАТИРОВАНИЯ ОТЧЕТА

BTI[TLE] ТЕКСТ ( НИЖНИЙ КОЛОНТИТУЛ)

NEWPAGE [1|N]

TTI[TLE] ТЕКСТ (ВЕРХНИЙ КОЛОНТИТУЛ)

ФУНКЦИИ ФОРМАТИРОВАНИЯ ДАННЫХ

BTITLE (ОПРЕДЕЛЕНИЕ ЗАГОЛОВОК ОТЧЁТА В КОНЦЕ)

CLEAR (ОЧИСТИТЬ)

BRE[AKS]

BUFF[ER]

COL[UMNS]

COMP[UTES]

SCR[EEN]

SQL

TIMI[NG]

Лист 123 из 126 Владимир Новик webmaster@deltacom.co.il Справочник. SQL,PL/SQL,SQL*Plus Интернет-издание www.deltacom.co.il/rus COLUMN (СТОЛБЕЦ) АТРИБУТЫ КОЛОНОК

ALI[AS] алиас ( псевдоним столбца )

CLE[AR]

COLOR {цвет | переменная_цвета}

FOLD_A[FTER] n

FOLD_B[EFORE] n

FOR[MAT] формат

HEA[DING] текст

COLUMN ENAME HEADING ‘Employee|Name’

JUSTIFY

LIKE {expr | алиас}

NEWL[INE]

NEW_V[ALUE] переменная

NOPRI[NT] | PRI[NT]

NUL[L] символ

OLD_V[ALUE] переменная

ON | OFF

WRA[PPED] | WOR[D_WRAPPED] | TRU[NCATED]

COMPUTE (РАССЧИТАТЬ)

функция для операций COMPUTE

SPOOL (УСТАНОВИТЬ ПРОТОКОЛИРОВАНИЕ РАБОТЫ)

TTITLE (СОЗДАТЬ ЗАГОЛОВОК ОТЧЁТА)

ФУНКЦИИ ПРЕОБРАЗОВАНИЯ

ПОСТРОЧНЫЕ СИМВОЛЬНЫЕ ФУНКЦИИ

SET (УСТАНОВИТЬ ЗНАЧЕНИЯ СИСТЕМНЫХ ПЕРЕМЕННЫХ)

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}

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}

Лист 124 из 126 Владимир Новик webmaster@deltacom.co.il Справочник. SQL,PL/SQL,SQL*Plus Интернет-издание www.deltacom.co.il/rus 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}

BUF[FER] {буфер|SQL}

DOC[UMENT] {OFF|ON}

TRU[NCATE] {OFF|ON}

TRIM[OUT] {OFF | ON}

UND[ERLINE] {- | c | OFF | ON}

VER[IFY] {OFF | ON}

WRA[P] {OFF | ON}

COMPATIBILITY:

HEADING:

LONG:

SQLCONTINUE:

SUFFIX:

ПРИМЕРЫ

CONNECT BY

FOR С КУРСОРОМ

ФУНКЦИИ ПРЕОБРАЗОВАНИЯ

СООТНОСЯЩЦЙСЯ ПОДЗАПРОС

КУРСОР

ДВОЙНОЙ КУРСОР

TRIGGER (ПРОЦЕДУРА АВТОЗАПУСКА)

СОЗДАНИЕ ПАКЕТА

DELETE

ТИПЫ ДАННЫХ

ФУНКЦИЦ ОБРАБОТКИ ДАТ

ОБРАБОТКА ОШИБОК

ФОРМАТЫ

GROUP BY

ГРУППОВЫЕ ФУНКЦИИ

INSERT

LIKE

LOCK TABLE

NEXTVAL

ПУСТЫЕ ЗНАЧЕНИЯ

ЧИСЛЕННЫЙ ЦИКЛ FOR

ИЗБЫТОЧНОЕ СОЕДИНЕНИЕ

ЗАПРОСЫ

ОПЕРАТОР ROLLBACK

SELECT INTO

SET TRANSACTION

ОПЕРАЦИЦ С МНОЖЕСТВАМИ

ПРОСТОЕ СОЕДИНЕНИЕ

ПОДЗАПРОС

WHERE CURRENT OF

WHILE

ПРИЛОЖЕНИЕ

КЛЮЧЕВЫЕ СЛОВА

ПРЕДСТАВЛЕНИЯ СЛОВАРЯ ДАННЫХ.

ФУНКЦИИ ОБРАБОТКИ ДАТ

ФОРМАТИРОВАНИЕ ДАТЫ ROUND ИЛИ TRUNC

ВСТРАИВАЕМЫЕ ФУНКЦИИ

Лист 125 из 126 Владимир Новик webmaster@deltacom.co.il Справочник. SQL,PL/SQL,SQL*Plus Интернет-издание www.deltacom.co.il/rus ГРУППОВЫЕ ФУНКЦИИ

ДОПОЛНИТЕЛЬНЫЕ ПАРАМЕТРЫ НАСТРОЙКИ

ПРИВИЛЕГИИ

ДОПОЛНИТЕЛЬНЫЕ ПРИМЕЧАНИЯ

СОДЕРЖАНИЕ:



Pages:     | 1 ||

Похожие работы:

«Артур Штильман В Большом театре и Метрополитенопера. Годы жизни в Москве и Нью-Йорке. Текст предоставлен правообладателем http://www.litres.ru/pages/biblio_book/?art=11961952 Штильман А. Д. В Большом театре и Метрополитен-опера. Годы жизни в Москве и Нью-Й...»

«"Право и политика ".-2009.-№7.-С.1453-1460 АДМИНИСТРАТИВНО-ПРАВОВЫЕ ПРИНЦИПЫ ИНСТИТУТА МИРОВЫХ СУДЕЙ А. М. Масляев автор сосредоточил свое внимание на рассмотрении тринадцати Аннотация: административно-правовых принци пов, имеющих место в институте мировых судей, что говорит об их проблематике. Достоинством статьи...»

«АДМИНИСТРАЦИЯ ГОРОДА МЕГИОНА "УТВЕРЖДАЮ" Первый заместитель главы города Мегиона И.В.Павлов "" "" 2007г. Реестровый номер торгов: 50-ОК КОНКУРСНАЯ ДОКУМЕНТАЦИЯ открытого конкурса по размещению заказа на право заключения муниципального контракта на выполнение работ по нанесению линий дорожной разметки на улично – дорожной се...»

«Министерство образования и науки Российской Федерации Ярославский государственный университет им. П. Г. Демидова Кафедра уголовного процесса и криминалистики Уголовный процесс Общая часть Сборник задач Рекомендовано Научно-методическим советом университета для студентов, обучающихся по направлению Юриспруденция Ярославль ЯрГУ УДК...»

«Протокол заседания Конкурсной комиссии по вскрытию поступивших на конкурс № 30774 конвертов Протокол заседания Конкурсной комиссии по вскрытию поступивших на конкурс № 30774 конвертов №1 16.07.2012 Москва, ул. Летниковская, д. 5, стр. 2 Предмет конкурса: Открытый одноэтапный конкурс на право заключения: – договора страхован...»

«пособие для адекватных водителей ВОДИТЕЛЬ И ГАИ в правовом государстве с просторов интернета (ч.3 былое и думы.) Ни в коей мере не рекомендуется пользоваться данным пособием мажорам, отморозкам, “важным”, тем, кому уступают...»

«Уважаемые участники совещания, уважаемые гости! Прежде всего, я хочу поприветствовать всех собравшихся в этом зале. В нашей системе существуют разные форматы для таких встреч и обсуждения самых важных вопросов, но мне всегда представлялось, что формат т...»

«ПЯТНАДЦАТЫЙ АРБИТРАЖНЫЙ АПЕЛЛЯЦИОННЫЙ СУД ПОСТАНОВЛЕНИЕ от 16 апреля 2009 г. N 15АП-986/2009 Дело N А32-15333/2008 Резолютивная часть постановления объявлена 13 апреля 2009 года. Полный текст постановления изготовлен 16 апреля 2009 г.Пятнадцатый арбитражный апелляционный суд в составе: председательст...»

«НЕЗАВИСИМОЕ КАЗАХСТАНСКОЕ АГЕНТСТВО ПО ОБЕСПЕЧЕНИЮ КАЧЕСТВА В ОБРАЗОВАНИИIQAA Отчет по внешнему аудиту (внешней оценке) Казахского Гуманитарно – Юридического инновационного университета составленный экспертной группой после изучения отчета по самооценке и внешнему аудиту образовательной программы 6М030100 –Юриспр...»

«ОФЕРТА ПОКУПАТЕЛЯМ № КОФ01 г. Москва Дата публикации: 18.04.2016г.1. Общие положения Приведнная ниже информация является предложением (далее Оферта) от лица ООО "Регион-сервис" (далее Поставщик), любому юридическому лицу или индивидуальному предпринимателю в РФ (далее Покупатель), а вместе именуемые Ст...»

«Методические рекомендации в адрес субъектов системы профилактики по своевременному и взаимному информированию о фактах дискриминации, жестокого обращения и насилия в отношении несовершеннолетних (в соответствии с ФЗ № 120 "Об основах системы профилактики безнадзорности и правонарушений несовершеннолетних")...»

«Анализ воспитательной работы в СПб ГБПОУ "Колледже "ПетроСтройСервис" за 2015-2016 учебный год Воспитательная деятельность в колледже осуществляется с учетом: Концепции воспитания обучающихся в ГПОУ, находящихся в ведении КО, на 2016-2020 гг.Программы профилактики правонарушений несовершеннолетних в СПб ГБПОУ КПСС Программы...»

«Студенческий научный журнал "Грани науки". 2015. Т.3,№2. С.22-25. УДК 341.61 К ВОПРОСУ О ПРАВОВОЙ ПРИРОДЕ АРБИТРАЖНОГО СОГЛАШЕНИЯ Тулина А.О. ФГАОУ ВО Казанский (Приволжский) федеральный университет, 420008, г. Казань, ул. Кремлевская, д. 18 e-mail: atulina94@gmail.com поступила в редакцию 08 сентября 2015 года Аннотация Статья посвящена в...»

«АЛМАТИНСКИЙ ФИЛИАЛ НЕГОСУДАРСТВЕННОГО ОБРАЗОВАТЕЛЬНОГО УЧРЕЖДЕНИЯ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ "САНКТ-ПЕТЕРБУРГСКИЙ ГУМАНИТАРНЫЙ УНИВЕРСИТЕТ ПРОФСОЮЗОВ" Б.Б. МУСИНА...»

«Infor LN Руководство пользователя по Обработке наборов Copyright © 2015 Infor Важные замечания Материал, содержащийся в этой публикации (включая любую прилагаемую информацию), составляет и содержит конфиденциальную и принадлежащую компании Infor информацию. Получая доступ к прилагаемому, вы подтвер...»

«Направление ПОДГОТОВКА СЛУЖИТЕЛЕЙ И РЕЛИГИОЗНОГО ПЕРСОНАЛА ПРАВОСЛАВНОГО ООП ВЕРОИСПОВЕДАНИЯ Название Апологетика дисциплины Цель изучения дисциплины: на основании Священного Писания, святоотеческих источников...»

«Программа обеспечения госзаказа для субъектов малого предпринимательства К субъектам малого предпринимательства относятся: 1) коммерческие организации (за исключением государственных и муниципальных унитарных предприятий), внесенные в Единый госуд...»

«С. В. Беликов Бритоголовые http://www.litres.ru/pages/biblio_book/?art=155087 Бритоголовые. Всё о скинхедах. Эксклюзивные материалы.: Издательский центр РГГУ; Москва; Аннотация Перед Вами – книга московского адвоката Сергея Беликова "Бритоголо...»

«АКАДЕМИЯ НАУК УКРАИНСКОЙ ССР ИНСТИТУТ ГЕОЛОГИЧЕСКИХ НАУК В. А. ЗЕЛИНСКАЯ, В. Г. КУЛИЧЕНКО, Д. Е. МАКАРЕНКО, Е. А. СОРОЧАН ПАЛЕОНТОЛОГИЧЕСКИЙ СПРАВОЧНИК ТОМ. I Двустворчатые моллюски палеогена и миоцена Украины ИЗДАТЕЛЬСТВО "ПАУКОВА ДУМКА" КИЕВ-1968 Спра...»

«взаимодействие в сети Internet // Под ред. Волохонского В.Л., Зайцевой Ю.Е., Соколов М.М. СПб.: СПбГУ. 2007. С. 9–39. Back М.D., Stopfer J.M., Vazire S., Gaddis S., Schmukle S.C., Egloff1 B., Gosling S.D. 7. Facebook Profiles...»

«Комиссия по спортивному праву Ассоциации юристов России Спортивный кодекс Франции Регламентарная часть Декреты Книги I и II Серия "Актуальные проблемы спортивного права" Выпуск 5 Москва УДК 347.5 ББК 67.401 С 73 Научный рецензент Заведующий кафедрой трудового права и права социального обеспечения Московской государ...»

«Управление Федеральной службы государственной регистрации, кадастра и картографии по Иркутской области Управление Федеральной Налоговой Службы Российской Федерации по Иркутской области Восточно-Сибирский филиал Федерально...»

«Гриценко А.А., д-р екон. наук Національний банк України Гриценко О.А., д-р екон. наук Національна юридична академія імені Ярослава Мудрого ХАБАРНИЦТВО ЯК ІНСТИТУЦІЙНИЙ КОМПЛЕКС Хабарництво аналізується як інс...»

«МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное бюджетное образовательное учреждение высшего образования "ТЮМЕНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ" Институт государства и права Кафедра трудового права и предпринимательства Курсова Оксана Александровна ПРАВОВ...»

«Программа вступительного испытания для кандидатов на обучение по специальной дисциплине "Криминалистика и судебно-экспертная деятельность" по основной образовательной программе высшего образования – программе подготовки...»










 
2017 www.book.lib-i.ru - «Бесплатная электронная библиотека - электронные ресурсы»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.