【发布时间】:2016-10-22 16:21:16
【问题描述】:
我是第一次用 SQL 编写触发器。谁能告诉我我在这段代码中写错了什么?
SQL> CREATE OR REPLACE TRIGGER Course_Allocation_After_Update
2 AFTER UPDATE
3 ON COURSE_ALLOCATION
4 FOR EACH ROW
5 DECLARE
6 v_user_id varchar2(20);
7 BEGIN
8 --Finding User who is performing the update in the table
9 SELECT USER
10 INTO v_user_id
11 FROM dual;
12 --Inserting Information Into Staging Table (Log Table)
13 IF UPDATING(STU_ID)
14 THEN
15 INSERT INTO STAGING_TABLE
16 (user_id,old_value,new_value,date_when_updated,time_when_udated)
17 VALUES
18 (v_user_id,:old.STU_ID,:new.STU_ID,sysdate,systime)
19 END IF;
20 END;
21 /
Warning: Trigger created with compilation errors.
这些是错误:
11/1 PL/SQL:忽略 SQL 语句
14/53 PL/SQL:ORA-00933:SQL 命令未正确结束
16/4 PLS-00103:遇到符号“;”当期待其中之一
下列的:
如果
【问题讨论】:
-
仅供参考,这是一个 PL/SQL 触发器。 PL/SQL 是编程语言。并且没有法律规定您必须以大写形式进行编码。我个人觉得很难阅读。
标签: sql oracle plsql triggers compiler-errors