入门级问题

zhanggc1001 2008-07-11 03:10:02
我想获取自增的下一个值,但是我不知sequence或tiger的名字
用sql语句能获得么?
例如:表test有的自增的id
只有以上条件,别无其他
我想获取下个值,怎样写sql语句啊
...全文
76 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
dbcxbj 2008-07-11
  • 打赏
  • 举报
回复
因为sequence是不和表关联的
5楼的查出来也不知道是哪个sequence
只能根据
select trigger_name from user_triggers where table_name='表名'
来看看这个表有多少个trigger
然后去看trigger的代码来看用了哪个sequence
select dbms_metadata.get_ddl('TRIGGER','触发器名大写','用户名') FROM DUAL
zhanggc1001 2008-07-11
  • 打赏
  • 举报
回复
了解了
可能我这个不是用这个机制实现的
oracledbalgtu 2008-07-11
  • 打赏
  • 举报
回复
SELECT * FROM Dba_Sequences WHERE sequence_owner=owner;
获得所有sequence的相关信息。
SELECT SEQUENCE_name.NEXTVAL FROM dual;获取下个值.


[Quote=引用楼主 zhanggc1001 的帖子:]
我想获取自增的下一个值,但是我不知sequence或tiger的名字
用sql语句能获得么?
例如:表test有的自增的id
只有以上条件,别无其他
我想获取下个值,怎样写sql语句啊
[/Quote]
zhanggc1001 2008-07-11
  • 打赏
  • 举报
回复
但是我用客户端工具看tiger和sequence下没有别的东西啊!!
tiger是空的啊!
hebo2005 2008-07-11
  • 打赏
  • 举报
回复
一般来说用tiger的话,你就可以空着ID,应该会由tiger进行插入的
你可以看tiger知道用的是哪个seq
hebo2005 2008-07-11
  • 打赏
  • 举报
回复
一般来说seq的名字会设的和表的自增ID一致的名字
否则除了设计者,谁知道这个表用啊个SEQ的啊
TIGER倒是好找,是关联表的
zhanggc1001 2008-07-11
  • 打赏
  • 举报
回复
在线等啊!!!

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧