مشکل در تریگر before update و محاسبات معدل

webcoder

New Member
با سلام به دوستان عزیزم

آقا ما یک سیستم داریم که برای کار با نمرات و معدل گیری اون مجبور شدیم از تریگر های SQL استفاده کنیم
یک سری ستون داریم توی جدول مورد نظر در MYSQL که عنوان هاش در کد زیر مشخصه.
خواستم با تریگر BEFORE UPDATE اون رو توی PHPMYADMIN ثبت کنم، اما متاسفانه ارور می ده. از دوستان کسی هست بدونه مشکلش چیه؟
کد:
BEGIN
IF new.`نمره‌مباحثات1` = NULL THEN 
SET new.`نمره‌میان‌ترم` =new.`نمره‌نظم1` + new.`نمره‌فعالیت‌کلاسی1` + new.`نمره‌ورقه‌میان‌ترم`‌*3 / 4;
SET new.`نمره‌پایان‌ترم‌` =new.`نمره‌نظم2`+ new.`نمره‌فعالیت‌کلاسی2`+ (new.`نمره‌ورقه‌پایان‌ترم`‌)*3 / 4;
SET new.`نمره‌نهایی‌` = (new.`نمره‌نظم1` + new.`نمره‌نظم2`)/2+  (new.`نمره‌فعالیت‌کلاسی2`+ new.`نمره‌فعالیت‌کلاسی1`)/ 2 +  new.`نمره‌میان‌ترم`/ 4 +  (new.`نمره‌پایان‌ترم`‌) / 2;
 ELSE
SET new.`نمره‌میان‌ترم` =new.`نمره‌نظم1` + new.`نمره‌مباحثات1` + new.`نمره‌فعالیت‌کلاسی1` + (new.`نمره‌ورقه‌میان‌ترم‌`)*3 / 5;
SET new.`نمره‌پایان‌ترم‌` =new.`نمره‌نظم2`+ new.`نمره‌مباحثات2`+ new.`نمره‌فعالیت‌کلاسی2`+ (new.`نمره‌ورقه‌پایان‌ترم‌`)* 3 / 5;
SET new.`نمره‌نهایی‌` = (new.`نمره‌نظم1` + new.`نمره‌نظم2`)/2+  (new.`نمره‌مباحثات2`+ new.`نمره‌مباحثات1`)/ 2 +   (new.`نمره‌فعالیت‌کلاسی2`+ new.`نمره‌فعالیت‌کلاسی1`)/ 2 +  new.`نمره‌میان‌ترم`/ 5 +  (new.`نمره‌پایان‌ترم‌`)*4/ 10;
END IF; 
END;

ارورش رو ضمیمه کردم به پست.
لازم به ذکره که تریگیر می تونه از فیلدهای فارسی استفاده کنه.
 

پیوست ها

  • Untitled.jpg
    Untitled.jpg
    112.9 کیلوبایت · بازدیدها: 3

جدیدترین ارسال ها

بالا