Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

SQL! Надо создать Триггер при удалении строки из таблицы.

N К Ученик (213), на голосовании 5 лет назад
1. При удалении материала, в таблице «Спецификация изделий» ID материала меняется на ID альтернативы, если альтернативы нет, то записи удаляются.
Сами таблицы:
CREATE DATABASE Proizvodstvo;
USE Proizvodstvo;
CREATE TABLE Oborudovaniye
(
Id_Obor
INT PRIMARY KEY AUTO_INCREMENT,
O_Name VARCHAR(45),
О_NachEk DATE,
О_SrEK YEAR(100),
О_Proiz VARCHAR(45),
О_InterNomer INT
);

CREATE TABLE Material
(
id_Mat INT PRIMARY KEY AUTO_INCREMENT,
М_Name VARCHAR(45),
М_Tip VARCHAR(45),
М_CenaZEd FLOAT,
M_EdIzm VARCHAR(45),
М_Alter VARCHAR(45)
);

CREATE TABLE SpecifikIzdeliya
(
id_SpIz INT PRIMARY KEY AUTO_INCREMENT,
I_Name VARCHAR(45),
I_Kol INT,
I_DlitProiz YEAR(100),
I_IdObor INT REFERENCES Oborudovaniye(Oborudovaniye),
I_IdMat INT REFERENCES Material (id_Mat)
);
Дополнен 5 лет назад
тут куча ошибок. Извиняйте.
I_IdObor INT REFERENCES Oborudovaniye(Id_Obor),
Голосование за лучший ответ
Сергей Плеханов Мудрец (10356) 5 лет назад
Делаешь триггер до удаления. Из него удаляешь спецификации, если нет альтернативы, или изменяешь, если есть. Можно просто отдельными операторами delete, update с нужными условиями, без if.
Похожие вопросы