Лабораторная работа №1 Ознакомление с интерфейсом субд mysql


CREATE [DEFINER = { user | CURRENT_USER }]



Pdf көрінісі
бет40/51
Дата11.10.2023
өлшемі1.29 Mb.
#480346
1   ...   36   37   38   39   40   41   42   43   ...   51
Metod BDiAKS 11.03.04 2017

CREATE
[DEFINER = { user | CURRENT_USER }]
TRIGGER trigger_name trigger_time trigger_event
ON tbl_name FOR EACH ROW trigger_stmt
Пример создания и работы триггера:
CREATE TABLE t22 (s1 INTEGER)
 
CREATE TRIGGER t22_bi 
BEFORE INSERT ON t22 
FOR EACH ROW 
BEGIN 
SET @x = ‘Trigger was activated!’; 
SET NEW.s1 = 55; 
END;
После этого при выполнении запросов получим:
mysql> INSERT INTO t22 VALUES (1)
mysql> SELECT @x, t22.* FROM t22 // вызывается триггер
+------------------------+------+ 
| @x | s1 | 
+------------------------+------+ 
| Trigger was activated! | 55 | 
+------------------------+------+ 
1 row in set (0.00 sec) 
Словарь данных
Иметь доступ к значениям метаданных – совершенно необходимое требование к совре-
менной СУБД. Ранее такая возможность в MySQL достигалась различными SHOW-ко-
56


мандами, но такой подход имеет очевидные недостатки. Эти команды нельзя использовать 
в простых запросах с соединениями, и, что существенно, они не соответствовали стандар-
там, будучи специфичными для MySQL.
В новой версии СУБД появилась новая служебная база данных – 
INFORMATION_SCHEMA. Её наличие продиктовано тем же стандартом SQL:2003, и имен-
но она решает задачу реализации словаря данных (data dictionary). 
INFORMATION_SCHEMA содержит таблицы, описывающие состояние и параметры серве-
ра, в том числе определения и сущности таблиц. Это виртуальная база данных – физически 
(в виде файлов на диске) она не существует, вся информация динамически предоставляется 
сервером. Пример использования этой таблицы:


Достарыңызбен бөлісу:
1   ...   36   37   38   39   40   41   42   43   ...   51




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет