SQL – Routines

Вызов приветствия , с помощью процедуры tervist()

CREATE PROCEDURE tervist()
LANGUAGE SQL
DETERMINISTIC
SQL SECURITY DEFINER
COMMENT "Esimine prtoseduur"
BEGIN
SELECT 'hELLO wOLRD!';
END;

piletihind больше чем 4

BEGIN

SELECT filmNimetus, pilethind
FROM kinokava
WHERE pilethind > Piletihind;
END

Нахождение filmNimetus по первой букву “P”. Результатом Pulp Fiction

BEGIN
SELECT * from film
WHERE filmNimetus LIKE CONCAT(valik, '%');
END

на добавление данных  (INSERT) в любую произвольную таблицу из БД кинотеатр.

Добавленные новые данные под номером 8, Ilja Vorontsov, 1985-02-02

BEGIN
INSERT INTO rezisoor(eesnimi, perenimi, sunniaasta)
VALUES(Ees,Pere,Sunni);
SELECT *from rezisoor;
END

На удаление записей в таблице žanr по введенному id.

По данному запросу zandriD = 10, УДАЛЕНО

BEGIN
DELETE FROM zanr
WHERE zanrID = removeID;
SELECT *FROM zanr;
END

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

Запрос “пошёл” по ветке ELSE, так как таблица ‘keel’ содержит FOREIGN KEY

BEGIN
DECLARE Has_FKkey INT;
-- обяевляется переменная с типом INT
SELECT COUNT(*)
-- считает ВСЕ строки
INTO Has_FKkey
-- записывает результат в переменную Has_FKkey
FROM information_schema.TABLE_CONSTRAINTS
-- выборка из базы данных и таблицы
WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = table_name AND CONSTRAINT_TYPE = 'FOREIGN KEY';
-- условие , если при возврате 0 - выполняется нижкследующее действие
IF Has_FKkey = 0 THEN
SET @f = CONCAT('DROP TABLE ', table_name);
PREPARE stmt FROM @f;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
SELECT('Таблица удалена успешно.');
ELSE
-- если условие не выполнено:
SELECT ('Не возможно удалить, содержит Foreign key.');
END IF;
END

Процедура ALTER для таблицы rezisoor, добавлен новый столбец oskarid

BEGIN
SET @STMT = CONCAT("ALTER TABLE rezisoor ADD oskarid INT");
PREPARE S FROM @STMT;
EXECUTE S;
DEALLOCATE PREPARE S;
END

Процедура UPDATE для таблицы rezisoor, режисcер под rezisoorID 2 = изменён на Ivan Ivanov

BEGIN
UPDATE rezisoor
SET eesnimi = eesnimi_new,perenimi = perenimi_new
WHERE rezisoorID = rezisoorID_new;
SELECT * from rezisoor;
END

https://trino.io/docs/current/routines/examples.html