我想获取自增的下一个值,但是我不知sequence或tiger的名字
用sql语句能获得么?
例如:表test有的自增的id
只有以上条件,别无其他
我想获取下个值,怎样写sql语句啊

解决方案 »

  1.   

    一般来说seq的名字会设的和表的自增ID一致的名字
    否则除了设计者,谁知道这个表用啊个SEQ的啊
    TIGER倒是好找,是关联表的
      

  2.   

    一般来说用tiger的话,你就可以空着ID,应该会由tiger进行插入的
    你可以看tiger知道用的是哪个seq
      

  3.   

    但是我用客户端工具看tiger和sequence下没有别的东西啊!!
    tiger是空的啊!
      

  4.   

    SELECT * FROM Dba_Sequences WHERE sequence_owner=owner;
    获得所有sequence的相关信息。
    SELECT SEQUENCE_name.NEXTVAL FROM dual;获取下个值.
      

  5.   

    因为sequence是不和表关联的
    5楼的查出来也不知道是哪个sequence
    只能根据
    select trigger_name from user_triggers where table_name='表名'
    来看看这个表有多少个trigger
    然后去看trigger的代码来看用了哪个sequence
    select dbms_metadata.get_ddl('TRIGGER','触发器名大写','用户名') FROM DUAL