我该如何解决? Oracle触发器

时间:2015-10-07 09:45:36

标签: sql oracle11g triggers

我希望创建一个触发器,在插入行时返回工作人员ID。

到目前为止,我有这个:

CREATE OR REPLACE TRIGGER insert_trigger 
  BEFORE
  INSERT ON staff
  FOR EACH ROW 
  DECLARE 
  v_staff_id VARCHAR2(5);
  BEGIN
  SELECT staff_id from staff INTO v_staff_id FROM dual;

  END;

我不断收到错误,例如sql statment被忽略,并且命令没有正确结束此行:

v_staff_id VARCHAR2(5);

任何帮助将不胜感激。

由于

1 个答案:

答案 0 :(得分:0)

您可以使用半栏':'

访问新的/更改的数据(插入/更新数据)

当您在插入数据时编写触发器时,需要使用:new.column_name

在示例中,它是:new.staff_id

如需完整参考,请检查 http://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_7004.htm