Максим Чалышев - Oracle SQL. 100 шагов от новичка до профессионала

Здесь есть возможность читать онлайн «Максим Чалышев - Oracle SQL. 100 шагов от новичка до профессионала» — ознакомительный отрывок электронной книги совершенно бесплатно, а после прочтения отрывка купить полную версию. В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Год выпуска: 11, Жанр: Программирование, Базы данных, Прочая околокомпьтерная литература, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

Oracle SQL. 100 шагов от новичка до профессионала: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Oracle SQL. 100 шагов от новичка до профессионала»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

Более 300 ответов на вопросы.
Более 500 практических заданий.
Более 1000 разобранных примеров.
Учебник справочник по языку SQL.

Oracle SQL. 100 шагов от новичка до профессионала — читать онлайн ознакомительный отрывок

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Oracle SQL. 100 шагов от новичка до профессионала», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

• Condition — условие связи двух таблиц.

Пример

Создадим следующую таблицу:

Удалим из таблицы строки, где OBJECT_TYPE = TABLE или INDEX.

Обновим данные в таблице T_OBJ на основе основного запроса.

Удалим из таблицы строки, где OBJECT_TYPE = TABLE или INDEX.

Только вставка

Только обновление

Пример 2

Разберем работу оператора MERGE.

Создадим таблицу PERSON1.

На основании PERSONобновим часть записей в PERSON и удалим часть из них для актуальности примера.

Выполним команду MERGE

Записи в PERSON будут обновлены и дополнены записями из PERSON1.

Пример 3

Очистим таблицу AUTO1.

Добавим четыре записи из таблицы AUTO.

Обновим данные в поле MARK.

Рисунок 218. Выбор данных из AUTO1

Обновим данные

Рисунок 219. Выбор данных из таблицы AUTO1

Выберем данные из таблицы AUTO1.

Важные замечания

MERGE является DML-командой, командой управления данными.

Эту команду следует завершать командой COMMIT.

Вместо таблицы INTO можно указать запрос.

Пример

Вопросы учеников

Как добавить или обновить некоторое одиночное значение с помощью MERGE?

Нет ничего проще, можно использовать запрос к таблице DUAL.

Пример

Контрольные вопросы и задания для самостоятельного выполнения

1. Повторите материалы данного шага.
2. Поясните работу оператора MERGE.
3. Обновите данные в таблице MAN1 на основе таблицы MAN с использованием MERGE.
4. Обновите данные в таблице CITY1 на основе таблицы CITY с использованием MERGE.

Шаг 83. Транзакции и блокировки

Введение

Для данного шага нам потребуется установить дополнительное программное обеспечение (ORACLEXE, PL SQL DEVELOPER). Подробнее о том, как устанавливать данные программы, описано в шаге 51 настоящей книги.

Данный шаг посвящен транзакционной модели и работе ORACLE SQL в многопользовательском режиме.

Теория и практика

В ORACLE СУБД используется транзакционная модель.

Изменения в данных, выполненные с помощью операторов INSERT, UPDATE, MERGE, DELETE, необходимо зафиксировать с помощью COMMIT или UPDATE.

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

Пример для демонстрации работы в многопользовательском режиме.

Создадим таблицу MAN5.

Откроем две программы SQLDEVELOPER независимо друг от друга в двух разных окнах. Либо можно открыть новый SQL WORKSHEET, воспользовавшись кнопкой NEW SHARED SQL WORKSHEET.

Подключимся к пользователю SYS в обоих окнах, как указано в шаге 51.

Заполним новую таблицу данными.

Выполним следующие команды в одном окне SQLDEVELOPER.

Переключим на другое окно программы SQLDEVELOPER.

Напишем запрос:

Запрос вернул пустое множество, переключим окно SQLDEVELOPER.

Уже в этом окне напишем запрос.

Запрос вернул три строки.

Выполним команду COMMIT;

Переключимся на второе окно SQL.

Запрос вернул три строки.

Транзакция — неделимая последовательность из нескольких SQL-команд.

Пользователь делает изменения в своей транзакции, до выполнения команды СOMMIT транзакция не фиксирует изменения в общей базе.

Таким образом, пока изменения не были зафиксированы командой COMMIT, только первый пользователь мог видеть изменения данных, которые он сделал; остальные пользователи базы данных этих изменений не видели.

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

Предположим, что пользователь 1 отредактировал данные в некоторой таблице, но не завершил операцию редактирования командой COMMIT;

Одновременно другой пользователь также отредактировал данные и выполнил команду COMMIT; получается, что у пользователя 1 теперь будут некорректные данные?

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

Продемонстрируем работу данного механизма.

В первом окне обновим данные следующим запросом:

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

Это приводит к длительному зависанию программы и ошибке, данные в таблице не изменились.

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

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

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «Oracle SQL. 100 шагов от новичка до профессионала»

Представляем Вашему вниманию похожие книги на «Oracle SQL. 100 шагов от новичка до профессионала» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Отзывы о книге «Oracle SQL. 100 шагов от новичка до профессионала»

Обсуждение, отзывы о книге «Oracle SQL. 100 шагов от новичка до профессионала» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x