1、你的建表文中【classno】还是【primary key(clano)】?
【classname 】还是【claname】我按照【clano】和【claname】理解了。
2、修改如下
CREATE OR REPLACE TRIGGER NAME_STUCLANAME
BEFORE INSERT ON STUDENT
FOR EACH ROW
DECLARE
TEMPCLANAME VARCHAR(10);
BEGIN
TEMPCLANAME := NULL;
SELECT CLANAME INTO TEMPCLANAME FROM CLASS WHERE CLANO =SUBSTR(:NEW.STUNO,1,8);
IF TEMPCLANAME IS NOT NULL THEN
:NEW.STUCLANAME:=TEMPCLANAME;
ELSE
RAISE_APPLICATION_ERROR(-20001, '您插入的[班级编号]在[班级表]中不存在');
END IF;
END;
/
---
以上,希望对你有所帮助。