Mysql
Mysql觸發器插入行另一個表使用條碼
我有 3 張桌子:
1) 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; 2) 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; 3) 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
)?帶觸發器?
create trigger tr_au_CkisEks after update on CkisEks for each row update UrunPaketDetay t1, Ckis_Detay t2 set t2.Uretici = t1.Uretici, t2.Urun = t1.Urun, t2.Kilo = t1.Kilo, t2.Kalibre = t1.Kalibre where t1.PaletKod = NEW.PaletKod and t2.PaletKod = NEW.PaletKod;
BEGIN
插入 Ckis_Detay (PaletKod, Barcode, Urun, Kalibre, Kilo, Uretici) 從 UrunPaketDetay 中選擇 PaletKod, Barcode, Urun, Kalibre, Kilo, Uretici WHERE PaletKod = PaletKod; 結尾
我對此觸發器進行了編碼,但是當我保存表 2 時,此觸發器將所有數據從表 1 獲取到表 3 但我只需要相同的 PaletKod 數據副本