搜索一下internet或者论坛,到处都是

解决方案 »

  1.   

    在oracle里好象没有那种类型吧。
    oracle里面有一种数据库对象叫序列。可以建一个序列。例如:
    create sequence testsqeue1
    increment by 1
    start with 1
    然后在表里面插入值的时候引用的时候写成 testsqeue1.next我不知道对不对啊。仅参考,牛点的大虾尽管指教。
      

  2.   

    建一个序列,然后使用它,
    create sequence seq_name 
    increment by 1
    start with 1
    maxvalue 99999999
    nocycle
    cache 10insert into table values(seq_name.nextval,.....seq_name.nextval每执行一步自动加1
      

  3.   

    比如 TEST(ID,NAME)
    insert into test values(seq_name.naxtval,name)
    总提示:列在此处不允许
      

  4.   

    两种方法
    方法一:
      用触发器建一个序列
    create sequence a_seq increment by 1 start with 100;
    建一个触发器, 自动+1
    create or replace trigger t_a
    before insert on a
    for each row
    begin
         select s_a.nextval into :new.b from dual;
    end;方法二:
      建一个序列
         create sequence a_seq increment by 1 start with 100;
       在语句中+1
      insert into tbl(id,....)
         values (a_seq.nextval,....)
      

  5.   


      SELECT seq_name.naxtval INTO A FROM DUAL

     insert into test values(A,name)
      

  6.   

    刚接触oracle的时候也有和你一样的疑问,觉得没有一个自增加的字段类型很不方便。用sequence 用得很不爽,后来用多了,就觉得爽了,比自增加的字段爽多了。具体的你自己查资料看sequence相关的资料,sequence对象很简单,但功能很强大,接触多了就能体会到。
    至于当前你最迫切想知道的答案,freddy2003() 的答案可以当教科书了。
      

  7.   

    感谢各位, freddy2003() 的第二种方法我试了一下,且不是在每次插值的时候都要插入一个
    seq_name.naxtval,
    我用VB调试的时候如下
    strsql = "insert into sys.test2 values(sys.fid.nextval," & text.text & ")"
    ORCconn.Execute strsql
    提示ORA-01031 权限不足
    ORCCONN是CONNECTION对象,连接正确
      

  8.   

    "insert into sys.test2 values(sys.fid.nextval," & text.text & ")"你用的是sys用户?这是系统管理员,也是oracle中权限最高的用户。你是用的sys登录的么?