Skip to content
Menu
Algaja IT-spetsialisti päevik
  • Minust
  • Pood
    • Ostukorv
    • Kassa
    • Minu konto
  • Tarkvaraarendus
    • Inkrementaalne mudel
    • Andmebaasi skeem
    • Prototüüpimine
    • UML skeemide
      • Kasutusjuhtude diagramm
      • Kasutuselevõtu skeem
      • Tegevusskeem 
      • Andmebaasi diagramm
  • Veebirakendusse
    • SEO seadistamine
  • SQL. Protseduurid.
  • Andmebaasisüsteemide
  • Versioonihaldussüsteemid (VCS)
  • ru_RU
Algaja IT-spetsialisti päevik

SQL. Protseduurid.

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

Первая часть кода создаёт процедуру: название процедуры, характеристики. Само тело процедуры помещается между BEGIN и END.

Пример простой процедуры tervist:
Результат вызова процедуры:

Создание процедуры в графическом редакторе

Создаём процедуру через графический редактор. Называем процедуру piletihindSuur. В ней создадим переменную rohkem с типом INT. Цель в том, чтобы функция выводила не только цены билетов выше введенной пользователем, но и названия фильмов из другой таблицы.

Запустим процедуру и посмотрим результат:

SQL- запрос вернул три строки с ценами больше 4 и объединил в одной таблице и названия фильмов.

Процедура поиска фильма по первой букве/первым буквам.

Создадим процедуру для поиска фильма по первой букве либо нескольким первым буквам названия и в выводе хотим видеть еще жанр и цены на билеты. Введём переменную nimi, которая будет заменяться на вводимые пользователем буквы.

Объединение данных в одну таблицу из разных, как и в прошлом примере с помощью INNER JOIN.
Введем ‘pupl’ и посмотрим результат:

Все работает:))

Процедура по добавлению данных в таблицу keel БД.

Для начала посмотрим, какие есть колонки в таблице keel:

Теперь у нас есть названия колонок. Приступаем к созданию процедуры:

Процедура создана, давайте ее протестируем:

Ввод данных об испанском языке

Отлично, запрос вернул шестую строку.

Удаление данных из таблицы zanr по ID.

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

Добавим новую процедуру:

В простых процедурах версия 8.0.31 phpMyAdmin не требует BEGIN и END.

Задействуем эту процедуру, введя ID добавленной нами заранее строки и посмотрим результат.

Строка 11 была успешно удалена.

Процедура UPDATE для таблицы rezisoor.

Сделаем процедуру, при помощи которой можно будет обновлять данные в таблице rezisoor. Нам потребуются три переменных — ID типа INT, а так же uuseesnimi и uusperenimi типа VARCHAR и ограничением в 25 символов в соответствии с параметрами таблицы.

Посмотрим ID того режиссера, которого переименуем:)).

Пусть эта участь выпадет Woody Allen. Он у нас не долго побудет Васей Пупкиным;)).

Вуаля, и у фильма уже новый режиссер.

Процедура ALTER для таблицы rezisoor.

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

В процедуре будет использоваться переменная veerunimi типа VARCHAR c ограничением в 25 символов. С помощью этой переменной мы будем задавать имя новому столбцу.

Вот как работает эта процедура:

3.Установка значения переменной @stmt. В данном случае, используется функция CONCAT, чтобы создать строку, содержащую команду ALTER TABLE для добавления столбца в таблицу rezisoor. В данном примере, создается столбец типа VARCHAR с длиной 25 символов, который не может содержать нулевые значения.
4. Подготовка SQL выражения с использованием строки, содержащей команду ALTER TABLE. Результат подготовки присваивается переменной P.
5. Выполнение подготовленного выражения. Данная команда выполнит ALTER TABLE, чтобы добавить указанный столбец в таблицу rezisoor.
6. Разрешение использования подготовленного выражения. Это очищает память, занимаемую подготовленным выражением.
7. Выборка всех данных из таблицы rezisoor после выполнения ALTER TABLE. Это демонстрирует изменения, произошедшие в таблице после добавления нового столбца.
8. Завершение выполнения процедуры.

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

Как видим, процедура добавила новую колонку.

Создание BACKUP и DELETE процедур.

Прежде чем будем удалять таблицы, нам нужно сделать бэкап. Напишем для этого еще одну процедуру:

Сделаем резервную копию таблицы zanr.

Во вкладке “Дизайнер” проверим, как эта функция работает:

Теперь можно с помощью следующей процедуры table_delete удалить эту новую таблицу:

Запускаем и проверяем результат:

Таблицы почти в своем первозданном виде.

Да, про Woody Allen, конечно я не забыл:)). Я ему вернул его законное имя.

Свежие записи

  • Kuidas saada programmeerijaks?

Свежие комментарии

  1. Комментатор WordPress kirjutab Kuidas saada programmeerijaks? kohta
ru_RU

Рубрики

  • Без рубрики
©2025 Algaja IT-spetsialisti päevik | Powered by SuperbThemes