楼主: fengye03009

[原创] 怎样使oracle的表名长度超过30?

[复制链接]
论坛徽章:
150
蓝锆石
日期:2011-11-16 22:31:22萤石
日期:2011-11-17 13:05:31祖母绿
日期:2008-06-14 15:23:26海蓝宝石
日期:2011-11-16 22:25:15紫水晶
日期:2011-11-16 22:31:22红宝石
日期:2011-10-09 08:54:30蓝锆石
日期:2009-01-31 15:20:54萤石
日期:2008-12-22 15:22:00祖母绿
日期:2011-11-17 13:13:26海蓝宝石
日期:2008-07-05 14:52:18
21#
发表于 2009-2-19 23:53 | 只看该作者
我讲课的时候偶尔也会有人提到这个问题,感觉在建库之前把sql.bsq中相应的字段都修改了应该问题不大,不过一直也没试过

使用道具 举报

回复
论坛徽章:
150
蓝锆石
日期:2011-11-16 22:31:22萤石
日期:2011-11-17 13:05:31祖母绿
日期:2008-06-14 15:23:26海蓝宝石
日期:2011-11-16 22:25:15紫水晶
日期:2011-11-16 22:31:22红宝石
日期:2011-10-09 08:54:30蓝锆石
日期:2009-01-31 15:20:54萤石
日期:2008-12-22 15:22:00祖母绿
日期:2011-11-17 13:13:26海蓝宝石
日期:2008-07-05 14:52:18
22#
发表于 2009-2-20 00:45 | 只看该作者
刚才试了一把:
sql.bsq中varchar2里面写的都是"M_IDEN",这个"M_IDEN"感觉是oracle定义在程序中的一个常量吧,我乱猜的,我把"M_IDEN"全部替换成128建库,建库成功了:
但是建表时表名超过30时还是会报错,程序里有控制,没办法加长的:
SQL> create table tttttttttttttttttttttttttttttt(id int , name varchar2(128));

表已创建。

--上面30个t创建成功了,下面31个t出错了
SQL> create table ttttttttttttttttttttttttttttttt(id int , name varchar2(128));
create table ttttttttttttttttttttttttttttttt(id int , name varchar2(128))
             *
第 1 行出现错误:
ORA-00972: 标识符过长
--===================
SQL> desc dba_tables
名称                                      是否为空? 类型
----------------------------------------- -------- ----------------------------

OWNER                                     NOT NULL VARCHAR2(128)
TABLE_NAME                                NOT NULL VARCHAR2(128)
................
--======================
SQL> desc obj$
名称                                      是否为空? 类型
----------------------------------------- -------- ----------------------------

OBJ#                                      NOT NULL NUMBER
DATAOBJ#                                           NUMBER
OWNER#                                    NOT NULL NUMBER
NAME                                      NOT NULL VARCHAR2(128)
............

使用道具 举报

回复
论坛徽章:
9
2008新春纪念徽章
日期:2008-02-13 12:43:03生肖徽章2007版:狗
日期:2008-03-23 11:54:47生肖徽章2007版:狗
日期:2008-04-07 19:50:57奥运会纪念徽章:田径
日期:2008-04-23 21:17:49奥运会纪念徽章:皮划艇静水
日期:2008-05-05 11:45:42生肖徽章2007版:羊
日期:2008-05-06 11:22:31奥运会纪念徽章:自行车
日期:2008-05-08 22:45:43生肖徽章2007版:蛇
日期:2008-05-27 15:38:32生肖徽章2007版:蛇
日期:2008-05-27 15:41:54
23#
发表于 2009-2-21 00:20 | 只看该作者
人生就是折腾。

使用道具 举报

回复
论坛徽章:
7
ITPUB8周年纪念徽章
日期:2009-09-27 10:21:22祖国60周年纪念徽章
日期:2009-10-09 08:28:00ITPUB9周年纪念徽章
日期:2010-10-08 09:28:51ITPUB十周年纪念徽章
日期:2011-11-01 16:23:26凯迪拉克
日期:2013-11-29 16:04:312014年新春福章
日期:2014-02-18 16:42:02马上有房
日期:2014-02-18 16:42:02
24#
发表于 2009-3-31 09:16 | 只看该作者
建议楼主去找oracle的开发工程师,等于白说。呵呵呵

使用道具 举报

回复
论坛徽章:
0
25#
发表于 2009-4-18 00:13 | 只看该作者
如果有建过电信级数据库的兄弟,肯定会恨死ORACLE这个表名不能超过30个字的限定。上面那些说没意义的,多半都是些没有多少实际经验的。

使用道具 举报

回复
论坛徽章:
0
26#
发表于 2009-4-22 14:02 | 只看该作者
...

[ 本帖最后由 Toms_zhang 于 2011-9-5 15:13 编辑 ]

使用道具 举报

回复
论坛徽章:
0
27#
发表于 2010-11-16 18:37 | 只看该作者
很简单,当从非ORACLE数据库迁移到ORACLE数据库时就有问题
在移动就遇到过这个问题
也或者一个产品有ORACLE版本,和非ORACLE版本,因为每个省的数据库环境是不一样的

使用道具 举报

回复
论坛徽章:
0
28#
发表于 2010-11-19 09:33 | 只看该作者
zxcvbnm

使用道具 举报

回复
论坛徽章:
0
29#
发表于 2011-9-5 14:49 | 只看该作者
何必把名字搞的这么长,没有太多实际意义的... ...

使用道具 举报

回复
论坛徽章:
63
版主7段
日期:2012-05-15 15:24:11itpub13周年纪念徽章
日期:2014-10-08 15:16:50itpub13周年纪念徽章
日期:2014-10-08 15:16:50itpub13周年纪念徽章
日期:2014-10-08 15:16:50itpub13周年纪念徽章
日期:2014-10-10 14:34:59马上加薪
日期:2015-01-08 15:39:192015年新春福章
日期:2015-03-04 14:19:112015年新春福章
日期:2015-03-06 11:57:31
30#
发表于 2011-9-8 12:04 | 只看该作者
改表名吧。

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表