oracle怎么查看表对应的序列

发布于2021-12-16 19:42:49
5个回答
admin
网友回答2021-12-16
1、oracle序列和表名没直接对应关系的
2、dba_sequences可以查询到有哪些序列
3、一般命名规则是:表名_s,看看有没有 有的话直接拿去用吧
admin
网友回答2021-12-16
因你的表没有主键,所以,只能考虑通过通过一个中间表过渡(insert进过渡表时可考虑用Sequence),然后再rename表过来吧
admin
网友回答2021-12-16
如果你是用的一个特殊用户来建的表和序列,那么可以直接删除用户来达到目的。
或者你可以写个存储过程来做,通过select * from user_objects里来找出表和序列,然后循环删除。
admin
网友回答2021-12-16
oracle中一个序列可为好多个表使用,所以无法获得,指定某个表使用就可以。
创建序列语法:
CREATE SEQUENCE seqTestINCREMENT BY 1 -- 每次加几个START WITH 1 -- 从1开始计数NOMAXvalue -- 不设置最大值NOCYCLE -- 一直累加,不循环CACHE 10; --设置缓存cache个序列,如果系统down掉了或者其它情况将会导致序列不连续,也可以设置为---------NOCACHE
admin
网友回答2021-12-16
要是删除一个实例下所有内容的话可以使用:
drop user ####(你要删除的表所在的用户) cascade;
如果需要保留个别东西的话那就得写脚本一个一个删了。
导出:
exp userid=user/password@实例名 file='c:\backup.dmp' tables=(a, b, c)
导入:
imp userid=user/password@实例名 file='file='c:\backup.dmp'
如果是导入用户与导出导出用户不同,需要加fromuser=#### touser=####
导出大文件时可以加上commit=y buffer=10000000
具体参数可以在cmd下使用 exp -help 与 imp -help 命令查看

回到
顶部