
- •1.Oracle – основные черты. Логическая структура б.Д. Примеры – из нашей б.Д:
- •4.Курсорные циклы. В чём их преимущество. Особенность использования переменной курсорного цикла.
- •Типы, определяемые пользователем, примеры. Объявление переменных.
- •Синтаксис команды update.
- •Синтаксис команды insert
- •Примеры использования
- •Средства защиты базы данных. Приведите примеры использования из нашей практики.
- •Целостность базы данных, управление правилами целостности
- •Язык dml? Всё, что Вы знаете об этой аббревиатуре. Примеры из нашей работы
- •Язык ddl? Всё, что Вы знаете об этой аббревиатуре. Примеры из нашей работы
- •Синтаксис команды insert: обязательно с практическими примерами.
- •Синтаксис команды delete: обязательно с практическими примерами.
- •Синтаксис
- •Синтаксис команды select: обязательно с практическими примерами.
- •Синтаксис команды truncate: обязательно с практическими примерами.
- •Синтаксис
- •Отличия от оператора delete
- •Структура блока pl/sql
- •Программные модули. Структура. Способы хранения, вызова. Преимущества использования.
- •Создание хранимых процедур и функций. Способы вызова из различных сред.
- •Назначение и преимущества хранимых процедур
- •Реализация хранимых процедур
Типы, определяемые пользователем, примеры. Объявление переменных.
Синтаксис команды update.
Синтаксис
UPDATE таблица
SET {поле = значение}[,...]
[{WHERE условие}];
Описание:
UPDATE используется для того, чтобы заменять определенные значения в элементах таблицы данных другими.
SET {поле = значение}[,...]
С помощью SET заменяют значения полей в таблице указанными в списке.
UPDATE — оператор языка SQL, позволяющий обновить значения в заданных столбцах таблицы.
Общий вид команды:
UPDATE [top(x)] <объект>
SET <присваивание1 [, присваивание2, ...]>
[WHERE <условие>]
[OPTION <хинт1 [, хинт2, ...]>]
top(x) — команда выполнится только х раз
<объект> — объект, над которым выполняется действие (таблица или представление(views))
<присваивание> — присваивание, которое будет выполняться при каждом выполнении условия <условие>, или для каждой записи, если отсутствует раздел where
<условие> — условие выполнения команды
<хинт> — инструкция программе как исполнить запрос
Пример:
UPDATE top(10) tbl_books SET price = 0 WHERE quantity = 0
OPTION (force GROUP, hash JOIN, force ORDER)
UPDATE Persons SET ADDress='Nissestien 67', City='Sandnes' WHERE LastName='Tjessem' AND FirstName='Jakob'
Синтаксис команды insert
Insert into [схема.] {имя_таблицы}| (select…) [@строка_связи]
[(Список_столбцов)] [value (список_выражений) select_2]
INSERT — оператор языка SQL, который позволяет добавить строки в таблицу, заполняя их значениями. Значения можно вставлять перечислением с помощью слова values и перечислив их в круглых скобках через запятую или оператором select.
Примеры использования
Используя перечисление значений, с указанием столбцов:
INSERT INTO <название таблицы> ([<Имя столбца>, ...]) VALUES (<Значение>,...)
Используя перечисление значений, без указания столбцов:
INSERT INTO <название таблицы> VALUES (<Значение>,...)
Используя select:
INSERT INTO <название таблицы> SELECT <имя столбца>,... FROM <название таблицы>
В последнем случае, в таблицу может вставиться более одной записи. Если в таблице есть другие поля требующие заполнения, но не указанные в операторе insert, для них будет установлено значение по умолчанию, либо null, если значение по умолчанию не указано.
Виды параметров. Способы передачи параметров, в том числе при вызове процедуры (функции) из SQL*PLUS
Подзапросы: связанные и несвязанные подзапросы. Встроенные представления
Различают связанные с основным запросом (коррелированные) не связанные. Подзапрос – скалярный, возвращает среднее значение. Несвязанный подзапрос выполняется сначала.
Операторы управления в PL/SQL
Использование языка SQL внутри PL/SQL
Что такое SQL?, PL/SQL?
PL/SQL разработан основе языка третьего поколения ADA. Достоинства:
Объектные типы и методы
Вложенные таблицы и изменяемые массивы
Внешние процедуры
Усовершенствованные LOB-объекты
Правила целостности в базе данных ORACLE
PL/SQL и предопределённые исключения. Примеры использования на наших занятиях
Прагма exception_init. Назначение и использование в PL/SQL
Обработка исключений в PL/SQL. ПРАГМА – это директива (указание) компилятору. Прагмы (называемые также ПСЕВДОИНСТРУКЦИЯМИ) обрабатываются во время компиляции, а не во время выполнения. Они не изменяют смысла программы, а лишь поставляют информацию компилятору. В PL/SQL, предопределенная прагма EXCEPTION_INIT сообщает компилятору имя исключения, которое вы ассоциируете с конкретным кодом ошибки ORACLE. Это позволяет вам обращаться к любому внутреннему исключению по имени, написав для него специальный обработчик.
Синтаксис:
PRAGMA EXCEPTION_INIT(имя_исключения, код_ошибки_ORACLE);
Переменные подстановки и переменные привязки в SQL*PLUS. Назначение и правила использования.
Технология - « Клиент-Сервер»: системная архитектура СУБД ORACLE (серверные и клиентские процессы, примеры)
Архитектура Клиент-Сервер. Согласно этой архитектуре, функциональная логика сосредоточена на персональном компьютере. Технология Клиент-Сервер является реализацией распределённой обработки данных.
Два вида конфигурации сервера Oracle. Какая из них предусмотрена именно для эффективной поддержки одновременной работы большого числа пользователей б.д.
Логическая и физическая структура базы данных ORACLE
Что такое SQL*PLUS?
Что такое транзакция? Какую роль играют транзакции в базе данных? Примеры из нашей практики.
Транзакция - это группа последовательно выполняемых операторов SQL, которые либо должны быть выполнены все, либо не должен быть выполнен ни один из них. Главная задача транзакций - обеспечить целостность данных в случаях, когда несколько SQL-операторов выполняют зависящие друг от друга изменения данных. Классический пример, приводимый, наверно, во всех учебниках по базам данных - перевод денег с одного счета на другой:
UPDATE accounts SET AccSum = AccSum - 1000 WHERE AccNumber = 12345;
UPDATE accounts SET AccSum = AccSum + 1000 WHERE AccNumber = 67890;
Что будет, если первый оператор выполнится, а второй по какой-то причине - нет (сбой сервера, неправильный номер счета, переполнение... - мало ли какая может быть ошибка)? Деньги с одного счета списаны, а на другой не поступили...
Механизм транзакций как раз и позволяет корректно выходить из подобных ситуаций. Объединив эти два оператора UPDATE в одну транзакцию, мы обеспечим выполнение (или невыполнение) их обоих как одного целого.
Стандарт SQL-92 предусматривает, что транзакция в текущей сессии начинается неявно при выполнении первого из SQL-операторов, изменяющих данные, а завершена может быть либо явно - операторами COMMIT [WORK] или ROLLBACK (COMMIT [WORK] подтверждает транзакцию и фиксирует внесенные изменения, ROLLBACK транзакцию откатывает и возвращает данные в базе к тому состоянию, в каком они были до начала транзакции), либо неявно - при завершении текущей сессии или при системном сбое. К сожалению, стандарт SQL-92 не определяет, что должно делаться по умолчанию при завершении текущей сессии - подтверждение транзакции или откат, и в разных СУБД (и даже, бывает, в разных клиентах для одной СУБД) это реализуется по-разному. Поэтому на действия по умолчанию лучше не полагаться и всегда делать COMMIT / ROLLBACK явно.