创建触发器时提示警告:Not allowed to return a result set from a trigger

程序如下,目的是在sc表中创建触发器sc_insert1,当插入一条记录时,如果学生表student里不存在插入记录中的学生时,就给出提示信息'没有这个生的信息,不可选课!'
DELIMITER &&
DROP TRIGGER IF EXISTS sc_insert1 &&
CREATE TRIGGER sc_insert1
AFTER INSERT
ON sc
FOR EACH ROW
BEGIN
IF NOT EXISTS(SELECT student.sno FROM student WHERE student.sno=new.sno)THEN
SELECT'没有这个生的信息,不可选课!';
END IF;
END&&

触发器(TRIGGER)不能使用 select 来设置变量结果, 这样会返回结果集,如果在触发器(TRIGGER)中要写成 into 的方式。如:
SELECT'没有这个生的信息,不可选课!';
改为:
select '没有这个生的信息,不可选课!' into @args;
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-06-07
这句话的意思是不允许在触发器里返回一个结果集,我感觉应该是 SELECT'没有这个生的信息,不可选课!';这句的问题,你试试把这个信息insert到一个表里追问

不会写啊,求教