用引号建表后无法删除表的

Xunxinqiujiao 2006-03-07 11:07:43
为了使用middlegen生成代码,需要区分表名和字段的大小写,在PL/SQL中运行SQL如下
create table "Customer"
(
"lvisitId" NUMBER(38) not null,
"dtdate" DATE,
"szchineseName" VARCHAR2(128),
"szlinkMan" VARCHAR2(128)
)
在加上主键
alter table CUSTOMER
add constraint "PK_Customer" primary key ("lvisitId")
using index
tablespace SYSTEM
pctfree 10
initrans 2
maxtrans 255
storage
(
initial 64K
minextents 1
maxextents unlimited
);

然后发先这个能够区分字段大小写的表复发drop

生成代码后,发现表无法删除,直接Drop说
...全文
118 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
cenlmmx 2006-03-07
  • 打赏
  • 举报
回复
SQL> create table abc (id char(1));

Table created.

SQL> create table ABC (id char(1));
create table ABC (id char(1))
*
ERROR at line 1:
ORA-00955: name is already used by an existing object


SQL> create table "abc" (id char(1));

Table created.

SQL> select table_name from user_tables;

TABLE_NAME
------------------------------
ABC
COLOCATED
DISORGANIZED
PLAN_TABLE
TEST
TMPTEST
TST
abc

8 rows selected.

SQL> drop table abc
2 ;

Table dropped.

SQL> desc abc
ERROR:
ORA-04043: object abc does not exist


SQL> desc "abc";
Name Null? Type
----------------------------------------- -------- ----------------------------
ID CHAR(1)

SQL> drop table ABC;
drop table ABC
*
ERROR at line 1:
ORA-00942: table or view does not exist


SQL> drop table "ABC";
drop table "ABC"
*
ERROR at line 1:
ORA-00942: table or view does not exist


SQL> drop table "abc";

Table dropped.
chenzhj13141983 2006-03-07
  • 打赏
  • 举报
回复
你建的表是
create table "Customer"也就是说把你的表名是“Customer”,也就是说你建 的表的表名包括引号啊,你Drop customer肯定找不到这个表了
Xunxinqiujiao 2006-03-07
  • 打赏
  • 举报
回复
接上面问题,直接drop也不行,提示"表名或字段不存在",在PL/SQL中先去掉这个表的主键,再删除可以,但是一refresh,就又出现了
cenlmmx 2006-03-07
  • 打赏
  • 举报
回复
drop table "Customer"?
Xunxinqiujiao 2006-03-07
  • 打赏
  • 举报
回复
drop的时候加了"",就可以了.....真不好意思,谢谢大家:)
wffffc 2006-03-07
  • 打赏
  • 举报
回复
加了双引号应该只是区分了一下大小写而已

17,377

社区成员

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

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