免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1802 | 回复: 4
打印 上一主题 下一主题

建表问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-02-28 16:52 |只看该作者 |倒序浏览
初用oracle,就遇到头疼的问题,从powerDesigner的PDM中导出建表结构,然后拿到oracle中去创建表结构,创建成功,在select tname from tab;中也能看到这些表名称,但是这些表就是不能访问,后来想重新创建,于是就使用drop user命令想把user drop掉重新创建,结果发现下面的问题,用户不能drop

sys@ORCL> drop user test cascade;
drop user test cascade
*
ERROR at line 1:
ORA-00604: error occurred at recursive SQL level 1
ORA-02429: cannot drop index used for enforcement of unique/primary key


不知什么原因,后来发现从pdm导出来的sql文件中表名称大都带着双引号。可能是双引号造成的,出现问题是在linux虚拟机上的10G上。
同样的问题在windows上的oracle上面也发生了,但是在windows上面可以将用户drop掉,可是linux上就不行,请问这样的问题怎么解决,就是说我怎么把创建是带双引号的表drop掉,或者用户drop掉也行。

论坛徽章:
0
2 [报告]
发表于 2009-02-28 23:52 |只看该作者
drop table upper('"tablename"');

看看啥样,不确定能否解决

论坛徽章:
0
3 [报告]
发表于 2009-02-28 23:57 |只看该作者
又想了一下,应该和双引号无关

貌似exp出来的也带双引号

论坛徽章:
0
4 [报告]
发表于 2009-03-01 08:42 |只看该作者
但是我把sql中的双引号替换掉,再创建的表就没有任何问题。

论坛徽章:
0
5 [报告]
发表于 2009-03-01 12:25 |只看该作者
你select object_name from user_objects where object_type='TABLE';

看看出来的表名是啥样的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP