Hello.
It seems that you forgot to OPEN the cursor. The trigger should be similar to this one: CREATE TRIGGER trigger_registration_and_attendance_before_insert BEFORE INSERT ON registration_and_attendance FOR EACH ROW BEGIN DECLARE schedule_class_id INT; DECLARE schedule_class_id_cursor CURSOR FOR SELECT class_id FROM schedules WHERE schedules.id = new.schedule_id; OPEN schedule_class_id_cursor; FETCH schedule_class_id_cursor INTO schedule_class_id; SET new.class_id = schedule_class_id; CLOSE schedule_class_id_cursor ; END; Ferindo Middleton Jr wrote: > Is it possible to SET values on fields that involve the TABLE that > invoked the TRIGGER with SET actions. > I have the following lines in my trigger: > > delimiter // > CREATE TRIGGER trigger_registration_and_attendance_before_insert > BEFORE INSERT > ON registration_and_attendance > FOR EACH ROW > BEGIN > DECLARE schedule_class_id INT; > DECLARE schedule_class_id_cursor CURSOR FOR SELECT class_id FROM > schedules WHERE schedules.id = > new.schedule_id; > FETCH schedule_class_id_cursor INTO schedule_class_id; > SET new.class_id = schedule_class_id; > END; > > The server accepts this but "new.class_id" doesn't get a value when I do > an INSERT. Why won't this work? > > Ferindo > -- For technical support contracts, goto https://order.mysql.com/?ref=ensita This email is sponsored by Ensita.NET http://www.ensita.net/ __ ___ ___ ____ __ / |/ /_ __/ __/ __ \/ / Gleb Paharenko / /|_/ / // /\ \/ /_/ / /__ [EMAIL PROTECTED] /_/ /_/\_, /___/\___\_\___/ MySQL AB / Ensita.NET <___/ www.mysql.com -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]