IBM Data Studio使用----对象创建的双引号/大小写问题以及表/列重命名
来源:互联网 发布:远程维护软件 编辑:程序博客网 时间:2024/05/16 15:27
原文http://blog.csdn.net/idber/article/details/8121024
问题描述
使用Data Studio进行表的创建后,对该表使用查询语句总是会出现“XXX是一个未定义的名称”的错误。如图:
使用Data Studio的默认设置创建的表(非手动SQL脚本创建),无论是在Data Studio脚本编辑器还是命令行中都会出现这种错误,原因在于使用Data Studio自动建表时自动生成的DDL中会对所有的对象名添加双引号。如图:
也就是说,SQL语句中的表名和列名都需要加上双引号才能正常执行。(注:字符串是单引号)如上面的查询语句改为:
select * from "Student"
就能够执行了。还要注意的是,DB2 中对于双引号括起来的表名,列名是大小写敏感的,"Student"写成"student"同样会出错。
解决办法
其实,出现这种双引号的问题的原因是DB2的对象大小写规则的问题。
使用SQL创建表或列对象时指定的表名,列名无论大小写,DB2全部都会自动转换为大写。如创建名为Student的表,创建完成后表名变成STUDENT。
如果一定要使用小写,就需要使用双引号将表名,列名等对象括起来,这样DB2就不会进行自动转换了,但同时在这样的表,列参与查询时,也必须使用双引号括起来。
预防双引号的产生
而在Data Studio中,自动生成DDL的默认设置是:一旦对象名含小写字符,就使用双引号括起来,全大写就不用双引号。例如上图中的DLL,Student,Name,Age都自动加了双引号,但ID就没有加。
所以解决的办法有以下几种:
1.指定表名,列名等对象时都统一指定为大写的;
2.手动使用SQL语句完成操作,避免使用DDL自动生成(避免多管闲事);
3.修改自动生成的DDL后再执行(去掉双引号后创建出来的对象就都是大写的);
4.设置Data Studio。在“首选项”->“数据管理”->“DDL生成”中,去掉“缺省情况下数据库对象标识加上引号”前的勾,这样生成的DDL就不会带双引号了。不过这个设置在我的Ubuntu下无效,不知道是不是个例。
处理产生的双引号
如果带双引号的表或列已经生成了,想要去掉双引号该怎么办呢?(毕竟带双引号查询不方便)
方法就是进行表或列的重命名。
DB2的表重命名语句是:
RENAME TABLE 表名 TO 新表名
(无论新表名是大写还是小写,都自动转换为大写,如:rename table "Student" to student,重命名表为STUDENT。索引重命名语法也一样)
DB2的列重命名语句是:
ALTER TABLE 表名 RENAME COLUMN 列名 TO 新列名
(同样,新列名也自动转换为大写。如alter table STUDENT rename column "Name" to name,重命名列Name为NAME)
- IBM Data Studio使用----对象创建的双引号/大小写问题以及表/列重命名
- IBM Data Studio使用----对象创建的双引号/大小写问题以及表/列重命名
- 使用 IBM Data Studio 为 WAS 创建和部署 Data Web Services
- GIT文件重命名字母大小写的问题
- 带有双引号的表如何重命名
- 使用IBM Data Studio 管理DB2
- PowerDesigner建表脚本中去掉对象双引号的方法(name与code大小写转换)
- IBM Data Studio 专题
- IBM Data Studio 专题
- Oracle数据库 实例说明:表的创建、重命名、属性/字段/列的添加删除与修改
- IBM Data Studio使用----窗口显示所有行
- IBM Data Studio使用----窗口显示所有行
- 使用 IBM Data Studio 开发调试 DB2 存储过程
- 使用 IBM Data Studio 管理数据库最佳实践
- Oracle Database的基本操作——创建表、列重命名。。。
- android studio data/data空的以及文件无法导出的问题
- PowerDesigner表创建脚本双引号问题
- PowerDesigner表创建脚本双引号问题
- Asp.Net中Linq的删除操作
- 正则表达式的理解
- 【Spark亚太研究院系列丛书】Spark实战高手之路-第一章 构建Spark集群-安装Ubuntu系统(2)
- CentOS 6.5 安装Nginx 1.7.4
- 【电脑主板维修】主板故障检测要领
- IBM Data Studio使用----对象创建的双引号/大小写问题以及表/列重命名
- Ubuntu14上安装Nexus及简介
- Shortest Prefixes(字典树)
- LTE网络中UU与X2接口研究
- I Hate It(线段树)
- Linux epoll模型
- 长连接之ajax-servlet
- 黑马程序员-->Java基础-->单例设计模式
- 星期几?