回答

收藏

ORA-00927:缺少等号

技术问答 技术问答 118 人阅读 | 0 人回复 | 2023-09-12

我创造了我的第一个sql触发器,
; N7 J% c$ \; ]0 a8 K" gCREATE OR REPLACE TRIGGER totalsalary    AFTER INSERT ON Employee    FOR EACH ROWWHEN ( NEW.Dno IS NOT NULL )BEGIN    UPDATE Department    SET totalSalary totalSalary   NEW.salary    WHERE Dno = NEW.Dno;END;但我收到此错误消息,但我不知道如何解决它
6 n8 r! o: N8 H3 C* fError at line 3: PL/SQL: ORA-00927: missing equal sign1. CREATE OR REPLACE TRIGGER SueldoTotal2.  AFTER INSERT ON EMPLEADO3.  FOR EACH ROW4. WHEN ( NEW.Dno IS NOT NULL )5. BEGIN               
; O, F% {5 b& ?8 c( p0 M    解决方案:                                                                ; h" D7 k4 V! l4 d, {6 O3 I. b
                                                                设置totalSalary totalSalary   NEW.salary
( D. Y6 Y" q$ H! ~) t6 D+ O您在 SET*    子句中 缺少等号    。*
3 O/ c% l- R1 U2 RCREATE OR REPLACE TRIGGER totalsalary    AFTER INSERT ON Employee    FOR EACH ROWWHEN ( NEW.Dno IS NOT NULL )BEGIN    UPDATE Department    SET totalSalary = totalSalary   :NEW.salary    WHERE Dno = :NEW.Dno;END;/新工资
, [0 Y3 E2 }6 |6 f7 H# w  O. D1 O& C此外,在引用旧值和新值时,这是不正确的:
9 B- H& g: G( g8 B% _4 k5 ^- L9 e, V:NEW.salary
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则