mysql触发器使用匹配数据插入另一个表的行

qojgxg4l  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(306)

我有三张table:

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;

我把第一张table装满了。在第二张table上,我叫帕莱特科德行。paletkod行自动填充第一个表的第二个表上的千行。
但是当我把paletkod填充到第二个表时,我需要如何从第一个表中选择paletkod并填充第三个表的值(uretici、urun、kilo、kalibre)?
我需要触发码。你能帮忙吗?

x8diyxa7

x8diyxa71#

据我所知,

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 ;

尝试此代码

相关问题