MySQL高级语法:触发器练习
Hyplus目录
1 例1
创建一个触发器,当在供应商表S中添加一个供应商信息的时候,如果城市不为‘杭州’,‘北京’,‘天津’,‘上海’,则取消插入操作
DELIMITER //
CREATE TRIGGER before_insert_supplier
BEFORE INSERT ON S
FOR EACH ROW
BEGIN
-- 检查城市是否为允许的城市
IF NEW.city NOT IN ('杭州', '北京', '天津', '上海') THEN
SIGNAL SQLSTATE '45000'
SET MESSAGE_TEXT = '城市不在允许的列表中,取消插入操作';
END IF;
END //
DELIMITER ;
2 例2
创建一个触发器,当在工程项目表J中删除一条记录时,在SPJ中也删除该项目的供货信息
DELIMITER //
CREATE TRIGGER after_delete_project
AFTER DELETE ON J
FOR EACH ROW
BEGIN
-- 删除相关的供货信息
DELETE FROM SPJ
WHERE project_id = OLD.project_id;
END //
DELIMITER ;
3 例3
创建一个触发器,当在零件表P中修改零件编号的时候,在SPJ中也修改该零件的编号
DELIMITER //
CREATE TRIGGER after_update_part_number
AFTER UPDATE ON P
FOR EACH ROW
BEGIN
-- 检查是否是零件编号的变化
IF OLD.part_number != NEW.part_number THEN
-- 更新 SPJ 表中的零件编号
UPDATE SPJ
SET part_number = NEW.part_number
WHERE part_number = OLD.part_number;
END IF;
END //
DELIMITER ;
4 例4
创建一张Slog表,用于记录供应商表的操作情况
Create table slog(
log_id int(11) AUTO_INCREMENT, -- 操作日志id
operType varchar(20), -- 操作类型:insert(插入)、delete(删除)、update(更新)
operTime datetime, -- 操作时间
operUser varchar(50), -- 执行操作的用户名称
sno varchar(20),
primary key (log_id)
)
再创建三个触发器,分别在新增,修改和删除后,将操作保存到操作日志表中
DELIMITER //
CREATE TRIGGER after_insert_supplier
AFTER INSERT ON S
FOR EACH ROW
BEGIN
INSERT INTO slog (operType, operTime, operUser, sno)
VALUES ('insert', NOW(), USER(), NEW.sno);
END //
DELIMITER ;
DELIMITER //
CREATE TRIGGER after_update_supplier
AFTER UPDATE ON S
FOR EACH ROW
BEGIN
INSERT INTO slog (operType, operTime, operUser, sno)
VALUES ('update', NOW(), USER(), NEW.sno);
END //
DELIMITER ;
DELIMITER //
CREATE TRIGGER after_delete_supplier
AFTER DELETE ON S
FOR EACH ROW
BEGIN
INSERT INTO slog (operType, operTime, operUser, sno)
VALUES ('delete', NOW(), USER(), OLD.sno);
END //
DELIMITER ;
[url=https://gainforex.net/]Forex Rebates[/url] are an essential tool for traders looking to increase their earnings without taking on extra risk. Working with a reputable rebate broker, you can get a refund on part of the spread you pay on every transaction you make. You boost your profit margins without taking on additional trades. They operate by giving you a cashback based on your trading volume, making it a win-win for traders. No matter if you just started or have years of experience, rebates are a proven way to cut down on fees, helping you grow your trading account faster. A wide range of brokers provide generous cashback offers, so you should evaluate their payout schedules, reputation, and support. Some services even combine rebates with welcome bonuses, helping you increase your funds right from the start and over time. The process to start earning rebates is usually quick and straightforward, just sign up, connect your broker account, and trade normally, and you receive payouts according to the provider’s schedule, often weekly or monthly. Skipping rebates means losing potential cashback on every trade. Start using them today and watch your profit grow steadily. Ultimately, cashback programs are one of the most effective ways to enhance trading profitability, and together with top broker bonuses, they provide unmatched profit potential.
https://gainforex.net/
[url=https://stellag-belgorod.ru/]Стеллажи универсальные[/url] — это практичное решение для хранения различных предметов, которое гармонично впишется в любое помещение. Такие конструкции изготавливаются из прочного металла, что гарантирует долгий срок службы. Благодаря универсальному дизайну стеллажи можно подстроить под разные размеры и типы предметов. На нашем сайте вы найдете широкий выбор стеллажей по выгодной стоимости, что делает их подходящими как для частного, так и для коммерческого применения. Оформите покупку стеллажей с быстрой доставкой, а наши менеджеры помогут выбрать подходящий вариант. Каждая модель сопровождается подробным описанием и фото. Сборка производится быстро и просто. Прочные соединения и устойчивая конструкция обеспечивают устойчивость даже при большой нагрузке. Они применяются для упорядочивания предметов в офисах, складах, мастерских и магазинах. Стеллажи из металла станут надежной основой для вашего хранения на долгие годы.
https://stellag-belgorod.ru/
[url=https://japan-medical-training.ru/]Лиофильная сушка[/url] — это инновационный процесс, используемый для мягкой сушки материалов через фазовый переход воды из твёрдого состояния в пар. Такая сушка максимально сохраняет свойства и форму образца, что важно при исследовательских и производственных задачах. Мини-лиофилизаторы позволяют управлять этапами заморозки и сушки, что снижает риски потери ценных свойств. Небольшие модели лиофильных сушилок подходят для научных задач, которая позволяет проводить сушку с высокой точностью и повторяемостью. Процесс применяют для стабилизации белков, РНК и других чувствительных соединений. Лиофилизация продлевает стабильность и пригодность продуктов в сложных условиях. Высушенные образцы можно легко восстанавливать водой без потери качества. Современные устройства включают интеллектуальные алгоритмы сушки и систему самодиагностики. Вы можете выбрать подходящую установку с учётом объёма, требуемой глубины вакуума и условий использования. Важно правильно подобрать параметры процесса и оборудование в зависимости от специфики материала. Технология широко внедрена в научных учреждениях и лабораториях по всему миру. Использование этого метода открывает новые возможности для хранения и анализа образцов.
https://japan-medical-training.ru/
[url=https://japan-medical-training.ru/]Лабораторная лиофильная сушка[/url] — это инновационный процесс, предназначенный для удаления влаги из образцов путём их замораживания и последующего сублимационного испарения. Благодаря лиофильной сушке сохраняется исходное качество, структура и биоактивность, что особенно важно в аналитической и прикладной химии. Мини-лиофилизаторы обеспечивают точный контроль параметров процесса, что гарантирует стабильный результат. В лабораторных условиях часто используется настольная или компактная установка, которая позволяет проводить сушку с высокой точностью и повторяемостью. Такая техника используется при хранении проб, подготовке препаратов, выделении биомолекул. Лиофилизация продлевает стабильность и пригодность продуктов в сложных условиях. Высушенные образцы можно легко восстанавливать водой без потери качества. Кроме того, современные модели лиофильных сушилок оснащаются сенсорными дисплеями, USB-интерфейсами и системами защиты. Производители предлагают широкий выбор моделей под любые задачи — от базовых до высокоточных. Рекомендуется учитывать тепловую чувствительность, пористость и состав исходного образца. Лабораторная лиофильная сушка активно используется в микробиологии, фармакологии, молекулярной биологии и пищевой науке. Использование этого метода открывает новые возможности для хранения и анализа образцов.
https://japan-medical-training.ru/