mysql - Mysql触发器使用匹配数据插入行另一个表
问题描述
我有 3 张桌子:
CREATE TABLE `UrunPaketDetay`(
`UrunPaketDetay` int NOT NULL AUTO_INCREMENT,
`UrunPaketNo` int NULL,
`Tarih` date NULL,
`Barkod` varchar(14) NOT NULL,
`Urun` varchar(50) NULL,
`SunumSekli` varchar(50) NULL,
`IslemeSekli` varchar(50) NULL,
`PaketlemeSekli` varchar(50) NULL,
`Kalibre` varchar(50) NULL,
`Kilo` double NULL,
`GlazeOran` varchar(50) NULL,
`Uretici` varchar(190) NULL,
`PaletKod` varchar(50) NULL,
PRIMARY KEY (`UrunPaketDetay`)
)CHARACTER SET utf8;
CREATE TABLE `CkisEks`(
`CikId` int NOT NULL AUTO_INCREMENT,
`Tarih` date NULL,
`Musteri` varchar(190) NULL,
`TeslimatYer` varchar(50) NULL,
`CikisSaati` time NULL,
`AracPlakasi` varchar(18) NULL,
`AracTel` varchar(16) NULL,
`KonteynirNo` varchar(50) NULL,
`PaletKod` varchar(12) NULL,
`Kilo` double NULL,
PRIMARY KEY (`CikId`)
)CHARACTER SET utf8;
CREATE TABLE `Ckis_Detay`(
`CD_Id` int NOT NULL AUTO_INCREMENT,
`CikId` int NULL,
`Barkod` varchar(50) NULL,
`Urun` varchar(50) NULL,
`Kalibre` varchar(50) NULL,
`Kilo` double NULL,
`Uretici` varchar(50) NULL,
`Musteri` varchar(190) NULL,
`PaletKod` varchar(50) NULL,
`Tarih` date NULL,
PRIMARY KEY (`CD_Id`)
)CHARACTER SET utf8;
我填满了我的第一张桌子。在第二张桌子上之后,我打电话给 PaletKod 行。PaletKod 行从第一张桌子自动填充第二张桌子上的 Kilo Row。
但是当我将 PaletKod 填充到我的第二个表时,我需要如何从第一个表中选择 Paletkod 并填充我的第三个表值(Uretici、Urun、Kilo、Kalibre)?
我需要触发代码。你能帮我吗?
解决方案
根据我的理解,
DELIMITER $$
CREATE TRIGGER Insert_UrunPaketDetay
AFTER INSERT ON UrunPaketDetay
FOR EACH ROW
INSERT INTO Ckis_Detay (Uretici,Urun,Kilo,Kalibre)
VALUES
(UrunPaketDetay.Uretici,UrunPaketDetay.Urun
,UrunPaketDetay.Kilo,UrunPaketDetay.Kalibre);
END$$
DELIMITER ;
试试这个代码
推荐阅读
- c# - 如何在打印机上打印测试页?
- php - 分叉了一个 PHP tinyboard 网站,无法用中文发帖(但可以通过管理面板进行)
- java - 如何设计一个对域对象进行大量操作的 API 包装器?(需要指导)
- visual-studio-code - 如何在 VS Code 中使用 SF Mono?
- raku - 累积 Z op 抛出“此 Seq 的迭代器已被另一个 Seq 使用/消耗”
- linux - 如何使 gdb 在“符号查找错误”时中断
- ruby-on-rails - 休息客户端/硒网络驱动程序的 Heroku 超时
- string - 在bash中循环查找结果
- windows - Netcat 命令:未知 IP 地址
- python - Pandas:选择第一个不再为负的值,返回该行