100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > oracle删除双引号 oracle 表名 双引号 删除

oracle删除双引号 oracle 表名 双引号 删除

时间:2020-08-15 07:28:45

相关推荐

oracle删除双引号 oracle 表名 双引号 删除

oracle10g中,建表的时候没注意,用别人发给我的sql直接创建的,创建之后发现 select * from 表名 ;提示表或视图不存在

后来仔细查看发现是在create的时候,表名和字段名都被加上了双引号,那建错了就重建吧,发现删除又删除不了,上网查了下,用这种方法成功删除了,记录下来:

最近在用Powerdesigner生成oracle数据库sql语句时,发现表和字段名中都带有引号。例如:

create table "authorISBN"(

"authorID"INTEGERnot null,

"tit_isbn"VARCHAR2(20),

"aut_authorID"INTEGER,

"isbn"VARCHAR2(20),

constraint PK_AUTHORISBN primary key ("authorID")

);

如果这样生成表的话,那么你查询或者插入数据都会显示table or view does not exist(表或视图不存在),然后让你郁闷的事情来了,这些表中oracle数据库中是存在的(我是建立在scott用户中的),但是你去删除这些表 (drop table 表名,或者drop table "表名")都是无法删除的,经过自己查找资料和研究发现,说明scott用户的权限不够。解决的方法是:你先连接到system用户下,使用命 令grant select any table to scott;(这句命令的意思是,授权给scott用户选择任何的表),这样你在连接到scott用户下,发现可以查询出这张表(select * from "表名") 但是表名上要加引号。删除这张表(drop table "表名") 表名上同样要加引号。

那么为什么用PowerDesigner生成的oracle数据库sql语句的表名和字段名上会出现引号呢?

因为,Oracle创建表的一条规则为:

在命名表的时候可以使用大写或小写字母。只要表名或字段名没有用双引号括住,Oracle 对大小写就不敏感。Oracle 支持使用双引号的语法。但是,最好不要直接使用双引号。

那么怎么让这些引号不出现呢?

在PowerDesiger中,

在physical data model 中找到菜单中的Database下的Edit current DBMS中, 选择Script->Sql->Format,有一项CaseSensitivityUsingQuote,它的comment为 “Determines if the case sensitivity for identifiers is managed using double quotes”,表示是否适用双引号来规定标识符的大小写,可以看到右边的values默认值为“YES”,改为“No”,点击【应用】按钮。

这样再生成sql语句时,表和字段名上是没有引号了。 转自:/chenkuntian/blog/item/e380b4cca2452b5df31fe740.html

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。