PowerDesigner生成SQL脚本时表名、字段名带引号问题及解决方法
来源:互联网 发布:java程序员怎么认证 编辑:程序博客网 时间:2024/05/16 12:06
加引号是PL/SQL的规范,数据库会严格按照“”中的名称建表,如果没有“”,会按照ORACLE默认的设置建表,默认是全部大写,这样,在ORACLE数据库里的字段就如“Column_1”,如果你把引号去掉,ORACLE自动默认为全部大写,即“COLUMN_1”,所以不必担心,这段SQL在PL/SQL中执行的时候是没有任何问题的,如果不加引号,在PL/SQL会自动识别为大写。
这个问题是生成脚本格式的问题,我们可以尝试在DBMS配置文件中修改相应的格式设置来解决这个问题。在PowerDesigner中,选择Database->Edit current database,选择Script-->Sql->Format,有一项CaseSensitivityUsingQuote,它的comment为 “Determines if the case sensitivity for identifiers is managed using double quotes”,表示是否适用双引号来规定标识符的大小写,可以看到右边的values默认值为“Yes”,如下所示:
将“Yes”修改为“No”,点击【确定】按钮。在弹出的确认对话框中点击【确认】。
这样设置之后,生成SQL就不会带引号了。如下所示:
另:如果建表脚本中使用引号。增删改查时,表名、字段名也要加引号。另外,无法使用desc命令来查看表的结构。举例如下:
l 建表(SQL中的表名、字段名带引号):
create table "xxxx" (
"alarm_def_id" NUMBER(12) not null,
"alarm_type_id" CHAR(1) not null
constraint CKC_xxx check ("alarm_type_id" in ('D','K')),
"kpi_id" varchar2(60) not null,
"gen_type" char(1) not null
constraint CKC_yyy check ("gen_type" in ('0','1','2')),
"kpi_type" char(2),
"comments" varchar2(256),
constraint PK_zzz primary key ("alarm_def_id")
);
l 查询表结构:
SQL> desc xxxx;
Object xxxx does not exist.
SQL> desc "xxxx";
Object "xxxx" does not exist.
注:这说明无法用desc命令来查看表的结构。
l 查询表数据:
SQL> select * from xxxx;
select * from xxxx
ORA-00942: 表或视图不存在
SQL> select * from "xxxx";
alarm_def_id alarm_type_id kpi_id gen_type kpi_type comments
------------- ------------- ------------------------------------------------------------ -------- -------- --------------------------------------------------------------------------------
l 插入表数据:
SQL> insert into "xxxx" values (1,'D','xx',1,2,'xx');
1 row inserted
SQL> commit;
Commit complete
SQL> insert into xxxx values (1,'D','xx',1,2,'xx');
insert into xxxx values (1,'D','xx',1,2,'xx')
ORA-00942: 表或视图不存在
l 更新表数据:
SQL> update xxxx set "comments"='yyyyy';
update xxxx set "comments"='yyyyy'
ORA-00942: 表或视图不存在
SQL> update "xxxx" set "comments"='yyyyy';
1 row updated
SQL> commit;
Commit complete
l 删除表数据:
delete from xxxx
ORA-00942: 表或视图不存在
SQL> delete from "xxxx";
1 row deleted
SQL> delete from xxxx;
注:综上可知,如果SQL脚本中使用引号,增删改查时,表名、字段名也要加引号。
- PowerDesigner生成SQL脚本时表名、字段名带引号问题及解决方法
- PowerDesigner生成SQL脚本时表名、字段名带引号问题及解决方法
- PowerDesigner生成SQL脚本时表名、字段名带引号问题
- 去掉PowerDesigner生成SQL脚本中字段名带的引号
- 去掉PowerDesigner生成SQL脚本中字段名带的引号
- 对于PowerDesigner生成sql语句中表和字段带引号的问题
- 用PowerDesigner设计表时,生成的SQL语句中表名和列名总是带引号的解决方法
- POWERDESIGNER生成oracle表名带有引号的解决方法
- PowerDesigner生成Oracle表名带有引号的解决方法
- PowerDesigner生成Oracle表名带有引号的解决方法
- PowerDesigner15.0脚本生成带引号问题
- PowerDesigner PDM 生成SQL脚本 去除 引号 方法
- POWERDESIGNER生成oracle表名带有引号
- Powerdesigner表名及字段的大小写转换脚本
- Powerdesigner表名及字段的大小写转换脚本
- Powerdesigner表名及字段的大小写转换脚本
- Powerdesigner表名及字段的大小写转换脚本
- Powerdesigner表名及字段的大小写转换脚本
- 通过dfs求排列
- cocos2dx3.2 嘿别犯傻了,reserve是保留而不是反转
- 互斥量
- python创建快捷方式
- Hibernate动态条件查询并分页
- PowerDesigner生成SQL脚本时表名、字段名带引号问题及解决方法
- Struts2的默认action配置真的是bug?
- 十进制与任意进制的转换
- Linux安装中文输入法(Google拼音输入法)
- swift中http请求URL中空格问题
- SpagoBI连接Mysql
- IO-00. Hello World!
- 【三分法】【bzoj 3330】: [BeiJing2013]分数
- Merge Two Sorted Lists leetcode