首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >trigger和nextval的oracle问题

trigger和nextval的oracle问题
EN

Stack Overflow用户
提问于 2012-11-13 04:48:24
回答 1查看 2.5K关注 0票数 1

我有一个名为employees的表,其中包含以下数据:

代码语言:javascript
复制
  Employee_ID     Employee_Salary       Employee_HireDate
  100              ----                  -----
  101              ----                  -----

现在,我想创建一个触发器,它允许我获取新的employee_id并将其递增1,以便可以将其放入表中。我找到了一个这样的例子:

代码语言:javascript
复制
 CREATE OR REPLACE TRIGGER employee_b
 BEFORE INSERT ON employee
 FOR EACH ROW
 DECLARE
      v_employee_id employee.employee_id%TYPE;
 BEGIN
       SELECT employee_ID_SEQ.NEXTVAL
       INTO v_employee_id
           FROM dual;
       :NEW.employee_id:=v_employee_id;
 END;

但我得到的错误是:

代码语言:javascript
复制
 ERROR at line 4: PL/SQL: ORA-02289: sequence does not exist

我想在insert事件之前使用该触发器:

代码语言:javascript
复制
 INSERT INTO employee(employee_salary,employee_hiredate) VALUES (-----,------)

对此有什么帮助吗?谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-13 05:09:57

代码语言:javascript
复制
create sequence employee_ID_SEQ start with 100 increment by 1;

然后编译触发器并尝试它。阅读序列并设置适当的CACHE etc值(默认的cache为20可能就可以了,如果您正在进行大量的快速插入,您可能需要更多)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13351327

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档