1.自动增加: 先建一个序列:
   CREATE sequence seq_for_insert
     minvalue 1 
     start with 1 
     increment by 1 
     nocache;再建一个trigger:
CREATE or replace trigger Trig_for_insert
before insert on TableName
for each row 
   
BEGIN 
   select seq_for_insert.nextval into :new.ID from dual;
END;

2.oracle的对象全部是大写的,如select * from tab;会被编译SELECT * FROM TAB;
要用小写请"tab"

解决方案 »

  1.   

    1.在oraclek中,为了方便我常常用触发器及序列结合起来实现,下面就是一个示例,希望对兄弟们有帮助 
    先建表、再建序列、然后是触发器,最后测试============================================= 
    --为主键指定序列编号 
    --2003-10-8 15:53 
    ============================================= 
    conn scott/tiger@powermis 
    drop table foo; 
    create table foo( 
      id number primary key, 
      data varchar2(100)); create sequence foo_seq; create or replace trigger bifer_foo_id_pk 
      before insert 
        on foo 
        for each row 
    begin 
      select foo_seq.nextval into :new.id from dual; 
    end; 
    / insert into foo(data) 
      values('Chirstopher'); insert into foo(id,data) 
      values(5,'Sean'); select * from foo;
    2.UPER()函數(全部轉換為大寫)
      

  2.   

    第2个问题可能理解有误,我是说字段
    譬如有这样一表
       U_ID      U_NAME
       Alex_wu   Alex
    oracle似乎只支持这种select * from tab where u_id='Alex_wu'
    我希望通过下面两种都可以查出来
    select * from tab where u_id='alex_wu'
    select * from tab where u_id='ALEX_WU'