CREATE SEQUENCE users_Sequence   
 INCREMENT BY 1      
     START WITH 1      
     NOMAXVALUE           
     NOCYCLE            
     CACHE 10; 
CREATE TRIGGER users_Increase BEFORE
insert ON  users FOR EACH ROW
begin
select users_Sequence.nextval into:New.users_id from dual;
end;
/
Warning: Trigger created with compilation errors
大家帮忙看看这里面是不是有关键字存在
users表在之前已经存在

解决方案 »

  1.   

    代码没有问题,使用show errors查看一下具体是什么错误,贴出来
      

  2.   

    SQL>  create table Deom3(
      2     deomid number(10) primary key,
      3     deomname varchar2(20)
      4     );
     
    Table created
     
    SQL> 
    SQL> CREATE SEQUENCE Deom3_Sequence
      2     INCREMENT BY 1
      3     START WITH 1
      4     NOMAXVALUE
      5     NOCYCLE
      6     CACHE 10;
     
    Sequence created
     
    SQL> 
    SQL> CREATE TRIGGER Deom3_Increase BEFORE
      2     insert ON Deom3 FOR EACH ROW
      3     begin
      4     select Deom3_Sequence.nextval into:New.deomid from dual;
      5     end;
      6  /
     
    Trigger created
     
    SQL> insert into deom3(deomname) values('test');
     
    1 row inserted
     
    SQL> select * from deom3;
     
         DEOMID DEOMNAME
    ----------- --------------------
              1 test
     
    SQL> 
      

  3.   

    show errors 看看具体什么错误,代码没什么问题,就不知道你什么环境下了
      

  4.   

    报的错已经帖出来了Warning: Trigger created with compilation errors
    我是在XP环境下,使用的,只是这段代码会报错,其他表名不一样的不会报错
      

  5.   

    代码看不出什么问题,你重新执行下呢?
    DROP SEQUENCE users_Sequence;
    DROP PROCEDURE users_Increase;CREATE SEQUENCE users_Sequence   
     INCREMENT BY 1      
         START WITH 1      
         NOMAXVALUE           
         NOCYCLE            
         CACHE 10; 
    CREATE TRIGGER users_Increase BEFORE
    insert ON  users FOR EACH ROW
    begin
    select users_Sequence.nextval into:New.users_id from dual;
    end;
    /
      

  6.   

    create table users(users_id int);CREATE SEQUENCE users_Sequence   
     INCREMENT BY 1      
         START WITH 1      
         NOMAXVALUE           
         NOCYCLE            
         CACHE 10; 
    CREATE TRIGGER users_Increase BEFORE
    insert ON  users FOR EACH ROW
    begin
    select users_Sequence.nextval into:New.users_id from dual;
    end;
    /运行后都没有问题,一切正常
      

  7.   


    你在SQLPLUS命令下,执行下你的trigger,然后show errors看下具体什么错误,你的Warning: Trigger created with compilation errors
    是在你创建trigger时候报的,具体什么错误你要show errors 看下,才好分析到底什么错误啊!
      

  8.   

    在 sqlplus下执行依然报错,show errors得到下面的结果:
    PLS-00049: bad bind variable 'NEW.USERS_ID'
    Users 表我是用视图化工具pl/sql做的,直接创建的
    字段的命名规则是 Users_字段名   然后还添加了主键Primary
    名称是ID,列是绑定的Users表的Id列,后面还有个“允许”是什么东西?
      

  9.   


    粗看语法没错 你先前不是发了个帖子怎么又来发,估计是你写法的细节问题CREATE or replace TRIGGER tir_users_Increase BEFORE insert ON  users FOR EACH ROW
    begin
    select users_Sequence.nextval into  :New.users_id from dual;
    end;
      

  10.   


    你再仔细检查下你表users中是否存在users_id这个字段!存在时不会爆这个错的!
    select column_name from user_tables where table_name='USERS';
      

  11.   

    另外表users 是当前用户创建的不
      

  12.   


    你自己都说了名称是ID,列是绑定的Users表的Id列
    说明你users表中没有users_id列,而是ID列,仔细检查下1
      

  13.   


    查看列的列名是否存在users_id 
      

  14.   

    真是对不起大家了一个小错误,太大意了表里面的字段是user_id  触发器里写的是users_id,粗心大意,害的大家浪费了那么多时间!给大家道歉啦!!!!分数,我会尽量平均分给大家的谢谢大家的帮忙!