русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

II. Образец для выполнения лабораторных работ по освоению SQLOracle


Дата добавления: 2015-07-09; просмотров: 714; Нарушение авторских прав


II.1. Утилита SQL*Plus, ее настройка и работа с ней при выполнении простых запросов выборки столбцов и строк

II.1. 1. Команды утилиты SQL*Plus и ее настройка

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

Алфавитный список команд SQL*Plus включает до 50 команд (file:///D:/Ora10.2_.doc/server.102/b14356/toc.htm#CFAJHBCH)1). В этом разделе мы

1) Эту строку надо вставлять, как URL, в браузере, изменив «D:/Ora10.2_.doc» на путь к документации Oracle10g на своем компьютере»

 

приведем минимум команд SQL*Plus, необходимых для выполнения лабораторных работ.

В таблице 1 приведены наиболее часто используемые команды SQL*Plus.

 

Таблица 1.

 

Команда Назначение
SPOOL путь и имя файла Инициализирует запись протокола работы SQL*Plus в текстовый файл, расположенный по указанному пути.
SPOOL OFF|ON   OFF ION отключает/возобновляет запись протокола работы SQL*Plus в текстовый файл.
DESC[RIBE] имя таблицы Выводит в окне SQL*Plus структуру таблицы.
HOST команда ОС Выполняет команду операционной системы из SQL*Plus.
CONNECT имя/пароль Соединение с сервером Oracle под другим именем/паролем.
COL[UMN] название_столбца FORMAT An При выводе столбца символьного типа с указанным именем его выводимый размер примет значение n символов
COL[UMN] название_столбца FORMAT 9--9.9--9   При выводе столбца числового типа с указанным именем выводимый размер примет значение стольких разрядов целой части, сколько девяток поставлено перед точкой, с добавлением стольких разрядов дробной части, сколько девяток было поставлено после точки
ED|IT Вызов редактора, в котором можно править последнюю команду в буфере SQL*Plus
EXIT Выход из SQL*Plus
SET LINESIZE N Устанавливает длину выводимой строки в n символов
SET PAGESIZE N Устанавливает размер выводимой страницы, равным n строк
SET SERVEROUTPUT ON Обеспечивает возможность работы пакета (программного модуля) DBMS_OUTPUT, обеспечивающего вывод информации при работе программ PL/SQL    
SET SQLPROMPT ‘текст’ Выводит подсказку «текст»
SET ECHO {ON | OFF}   Устанавливает или прекращает вывод в окне SQL*Plus выполненяемых команд в sql скриптах
SET TERM[OUT] {ON | OFF}   Устанавливает или прекращает вывод в окне SQL*Plus результатов выполнения команд в sql скриптах
SAVE название скрипта Запоминание скрипта последнего запроса в файле «название скрипта»
@название SQL скрипта Запустить на выполнение SQL скрипт

Команды в SQL*Plus пишутся сразу после выводимой подсказки (LAVR@10G). Регистр написания команд SQL*Plus не важен. Отметим здесь, что команды языка SQL и команды SQL*Plus – не одно и то же. В отдельных частях команд SQL, там, где задаются значения строк или столбцов хранимых таблиц, регистр важен.



 

 

1) Здесь и далее указанный путь предполагает, что при установке Oracle в строку «Oracle Home» было введено значение «D:\oracle\product\10.2.0\db_1\». Для другого значения Oracle Home изменится путь к файлам sqlplusw.exe, sqlplus.exe, а также – к некоторым другим файлам, называемым ниже по тексту.

Команды SQL, вводимые в окне SQL*Plus, могут занимать несколько строк и заканчиваются точкой с запятой и выполняются после нажатия клавиши «Enter». Другой способ выполнения: на последней строке SQL команды ввести символ «/» и нажать клавишу «Enter». Последняя введенная команда хранится в буфере SQL*Plus.

SQL*Plus можно запускать в интерфейсе Windows (D:\oracle\product\10.2.0\db_1\BIN\ sqlplusw.exe)1), а также – в окне DOS (D:\oracle\product\10.2.0\db_1\BIN\ sqlplus.exe).

Ссылка на SQL*Plus в интерфейсе Windows есть в панели задач отдельной строкой, откуда его обычно и запускают. Для запуска SQL*Plus в окне DOS достаточно выполнить в нем комаду sqlplus без указания пути, предварительно выбрав в свойствах окна DOS шрифт TT Lucida Console и изменив кодовую страницу командой «chcp 1251».

В этом случае выводимые на кириллице сообщения будут нормально читаться (обычно названные настройки дают результат для русскоязычной ОС Windows; для некоторых версий ОС Windows могут потребоваться другие языковые настройки).

Зачастую при работе с SQL*Plus важно знать, какой пользователь работает с базой данных и с какой базой данных он работает. У автора настоящего пособия на компьютере постоянно находится несколько баз данных с разными версиями Oracle. Для того, чтобы иметь ответы на эти вопросы, достаточно изменить подсказку по умолчанию в окне SQL*Plus (SQL>) на подсказку из двух частей: имени пользователя и имени базы, разделенных знаком, например , «&». Способ такой настройки указан в /1/. Приведем соответствующий текст из /1/ с незначительной корректировкой, связанной с использованием в лабораторных работах версии Oracle10g.

Для обеспечения запуска sqlplusw.exe или sqlplus.exe с такой подсказкой создаются

два файла: glogin.sql, connect.sql.

Скрипт glogin.sql, расположенный в директории D:\oracle\product\10.2.0\db_1\sqlplus\admin автоматически выполняется при каждом запуске SQL*Plus. Вместо скрипта glogin.sql, создаваемого при установке Oracle, создается и перезаписывается на то же место новый скрипт с тем же именем, имеющий следующий вид:

set serveroutput on size 1000000

set trimspool on

set long 5000

set linesize 100

set pagesize 9999

column global_name new_value gname

set termout off

select lower(user) || ' & ' ||

decode(global_name, ' ORCL.REGRESS.RDBMS.DEV.US.ORACLE.COM', '10g',

global_name) global_name from global_name;

set sqlprompt '&gname>

set termout on

В этом сценарии:

• SET SERVEROUTPUT ON SIZE 1000000 включает по умолчанию поддержку

пакета DBMS_OUTPUT (чтобы не нужно было набирать эту команду каждый раз).

Устанавливает также максимально возможный размер буфера.

• SET TRIMSPOOL ON гарантирует, что в выдаваемом тексте хвостовые пробелы

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

выдаваемые строки будут иметь длину LINESIZE.

• SET LONG 5000 устанавливает стандартное количество байт, выдаваемых при

выборе столбцов типа LONG и CLOB.

• SET LINESIZE 100 устанавливает длину выдаваемой утилитой SQL*Plus строки

равной 100 символам.

• SET PAGESIZE 9999 задает значение PAGESIZE, определяющее, как часто ути-

лита SQL*Plus выдает заголовки, настолько большим, чтобы на странице было не

более одного заголовка.

column global_name new value gname

Эта директива заставляет утилиту SQL*Plus помещать последнее значение, извлечен-

ное из любого столбца с именем GLOBAL_NAME, в переменную подстановки GNAME.

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

select lower(user) || ' @ ' ||

decode(global_name, ' ORCL.REGRESS.RDBMS.DEV.US.ORACLE.COM', '10g',

global_name) global_name from global_name;

Он выбирает из базы данных значение GLOBAL_NAME, используя функцию

DECODE для присваивания требуемых имен одному или нескольким обычно исполь-

зуемым экземплярам, а затем конкатенирует его с именем текущего пользователя. На-

конец, мы отображаем эту информацию в приглашении SQL*Plus:

set sqlprompt '&gname> '

Поэтому приглашение для соединяющегося с сервером Oracle10g (если при установке Oracle10g была создана предустановленная база данных ORCL и другая база данных не создавалась) пользователя scott будет иметь вид:

scott@10g>

Таким образом известно, кто работает и с какой базой работает. Еще один очень полезный скрипт— это скрипт connect.sql, который надо разместить в директории

D:\oracle\product\10.2.0\db_1\BIN:

set termout off

--для соединения sys надо заключать

--sys/sys as sysdba в апострофы;

--в других случаях этого делать не надо

connect &1

@D:\oracle\product\10.2.0\db_1\sqlplus\admin\glogin.sql

set termout on

Утилита SQL*Plus будет автоматически выполнять скрипт glogin.sql при начальном запуске. Но если в окне SQL*Plus с сервером Oracle будет соединяться другой пользователь командой connect имя_пользователя/пароль_пользователя, скрипт glogin.sql автоматически выполняться не будет. В окне SQL*Plus после соединения другого пользователя с сервером Oracle останется прежняя подсказка.

Если же вместо connect имя_пользователя/пароль_пользователя ввести

@connect имя_пользователя/пароль_пользователя, будет выполнен скрипт connect.sql, а в нем - команда SQL*Plus connect с параметром имя_пользователя/пароль_пользователя (строка «connect &1» скрипта connect.sql), а затем - скрипт glogin.sql (строка @D:\oracle\product\10.2.0\db_1\sqlplus\admin\glogin.sql скрипта connect.sql) и нужная подсказка будет установлена.

 



<== предыдущая лекция | следующая лекция ==>
I. Общая последовательность этапов выполнения лабораторных работ по освоению языка SQL | II.1. 2. Создание пользователя Oracle и таблиц его схемы


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.005 сек.