摘要:我遇到一个问题:在ORACLE里面用这条语句(select * from sys_user)竟然提示我表结构不存在,当然是存在的,
可是为什么会这样的,如果想了解怎么操作的可以看下这篇文章。
我之前在做sql的时候,喜欢在企业管理器里面创建表结构,在oracle里面也有PLsql这样的操作工具,哎呦呀 就是这个
操作工具让我感觉他有点变态。
我是这样操作的,打开PLsql,创建了表结构,接着就用SQL语句 select * from sys_user,结果是提示当前表不存在。
搞了半天原来是这个原因,原来是在这个所谓的企业管理器里面创建的表都给加了双引号,上面的那个查询语句可以这么解决掉s
elect * from "sys_user" 这样查询是没问题的。
这就证明了一点就是在我们的ORACLE的企业管理器里面创建的表结构,默认的情况下是给加了“”
CREATE TABLE "SX"."TAB_WORK"
( "HR_WORK_ID" NVARCHAR2(50) NOT NULL ENABLE,
"W_CONENT" NVARCHAR2(200) NOT NULL ENABLE,
"W_NAME" NVARCHAR2(100) NOT NULL ENABLE,
"BEGIN_DATE" DATE NOT NULL ENABLE,
"END_DATE" DATE NOT NULL ENABLE,
"CREATE_USER_ID" NVARCHAR2(50) NOT NULL ENABLE,
...
我们一般创建的是这样的
CREATE TABLE TAB_WORK
( HR_WORK_ID NVARCHAR2(50) NOT NULL ENABLE,
W_CONENT NVARCHAR2(200) NOT NULL ENABLE,
W_NAME NVARCHAR2(100) NOT NULL ENABLE,
BEGIN_DATE DATE NOT NULL ENABLE,
END_DATE DATE NOT NULL ENABLE,
CREATE_USER_ID NVARCHAR2(50) NOT NULL ENABLE,
...
看看就是引号的作用,让我感觉超级郁闷。。。。。。
总结:在ORACLE里面操作数据库表结构的话,尽可能的使用脚本,如果你不知道这个很让人讨厌的规则的话,那真是感觉好郁闷的呀!!!!