Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

MySQL डालने के बाद और अपडेट के बाद ट्रिगर करता है

ट्रिगर को परिभाषित करने से पहले सुनिश्चित करें कि आपने सीमांकक बदल दिया है। यह भी सुनिश्चित करें कि तालिका और ट्रिगर बनाते समय आप समान तालिका और स्तंभ नामों का उपयोग कर रहे हैं (आप att का उपयोग कर रहे हैं और attendance , और SID और StudID , आपके उदाहरणों में)।

जैसा कि है, ट्रिगर परिभाषा में कोई त्रुटि नहीं हुई जब मैंने इसे MySQL 5.1.55 में परिसीमन सेट करने के बाद परीक्षण किया।

delimiter $$
CREATE TRIGGER `att_up` 
  AFTER UPDATE ON `attendance`
FOR EACH ROW 
BEGIN
  DECLARE Zeros INT;
  DECLARE Ones INT;
  DECLARE total INT;
  DECLARE attend FLOAT;
  SELECT SUM(8-(h1+h2+h3+h4+h5+h6+h7+h8)), 
         SUM(h1+h2+h3+h4+h5+h6+h7+h8),
         SUM(8-(h1+h2+h3+h4+h5+h6+h7+h8)) + SUM(h1+h2+h3+h4+h5+h6+h7+h8)
    INTO Zeros, Ones, Total FROM attendance 
    WHERE SID=NEW.SID;
  SET attend=((Zeros-Ones)/total)/100;
  INSERT INTO per (SID, CID, per) values (NEW.SID, NEW.CID, attend)
    ON DUPLICATE KEY UPDATE per=attend;
END$$
delimiter ;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. प्रमाणीकरण से निपटने के लिए MySQL संरचना को कैसे मॉडल करें? उपयोगकर्ताओं की जानकारी अलग होने के साथ

  2. PHP कोडनिर्देशक में केवल दिनांक और वर्ष की तुलना कैसे करें

  3. परियोजना विकास के दौरान 5 MySql उपयोगी प्रश्न

  4. PHP + बूटस्ट्रैप मोडल + Mysql + JS . का उपयोग करके CRUD बनाना

  5. यदि फ़ील्ड रिक्त नहीं है तो MYSQL जॉइन करें