webcoder
New Member
با سلام به دوستان عزیزم
آقا ما یک سیستم داریم که برای کار با نمرات و معدل گیری اون مجبور شدیم از تریگر های SQL استفاده کنیم
یک سری ستون داریم توی جدول مورد نظر در MYSQL که عنوان هاش در کد زیر مشخصه.
خواستم با تریگر BEFORE UPDATE اون رو توی PHPMYADMIN ثبت کنم، اما متاسفانه ارور می ده. از دوستان کسی هست بدونه مشکلش چیه؟
ارورش رو ضمیمه کردم به پست.
لازم به ذکره که تریگیر می تونه از فیلدهای فارسی استفاده کنه.
آقا ما یک سیستم داریم که برای کار با نمرات و معدل گیری اون مجبور شدیم از تریگر های 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;
ارورش رو ضمیمه کردم به پست.
لازم به ذکره که تریگیر می تونه از فیلدهای فارسی استفاده کنه.