首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 在线求救 解决了马上给分!!!
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • Antony110
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 结帖率:
    发表于:2008-08-08 10:38:37 楼主
    我通过其他工具导入到ORACLE中一张表 表名为1.3.11.12
    表结构如下:
    -- Create table
    create table 1.3.11.12
    (
      CreateTime  DATE not null,
      RecordState VARCHAR2(10),
      percentUsed FLOAT,
      Mbfree      FLOAT,
      pagesPerSec FLOAT,
      TotalMemory FLOAT
    )
    tablespace OADATA
      pctfree 10
      initrans 1
      maxtrans 255
      storage
      (
        initial 64K
        minextents 1
        maxextents unlimited
      );
    -- Create/Recreate primary, unique and foreign key constraints
    alter table 1.3.11.12
      add primary key (CREATETIME)
      using index
      tablespace OADATA
      pctfree 10
      initrans 2
      maxtrans 255
      storage
      (
        initial 64K
        minextents 1
        maxextents unlimited
      );


    问题是:我用sql语句查询表中任何一个字段都会报错
    例如:select createtime from "1.3.11.12" 执行之后报错(invalid identifier)

    谁能帮忙解决下 谢谢
    50  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • todayg
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-08 10:41:281楼 得分:0
    表名不能是“1.3.11.12”这样的形式吧,你把表名改改试试看
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • todayg
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-08 10:42:192楼 得分:0
    刚帮你试了下,1.3.11.12样式的表名在oracle里面是无效的
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • oracle_louis
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-08 10:43:383楼 得分:0
    select createtime from "1.3.11.12"
    不加引号试试
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • oracle_louis
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-08 10:45:004楼 得分:0
    invalid table name
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • oracledbalgtu
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 3

    发表于:2008-08-08 10:48:415楼 得分:0
    所有出现1.3.11.12 的地方都改成 "1.3.11.12" ,就可以了。

    引用楼主 Antony110 的帖子:
    我通过其他工具导入到ORACLE中一张表 表名为1.3.11.12
    表结构如下:
    -- Create table
    create table 1.3.11.12
    (
      CreateTime  DATE not null,
      RecordState VARCHAR2(10),
      percentUsed FLOAT,
      Mbfree      FLOAT,
      pagesPerSec FLOAT,
      TotalMemory FLOAT
    )
    tablespace OADATA
      pctfree 10
      initrans 1
      maxtrans 255
      storage
      (
        initial 64K
        minextents 1
        m…
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • Antony110
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-08 10:50:546楼 得分:0
    因为是导入的表 表名显示就是1.3.11.12
    如果就执行“select * from 1.3.11.12”会报错(invalid table name )

    我加了引号后(select * from “1.3.11.12”)就可以执行了
    但是select createtime from "1.3.11.12"就不行
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • Antony110
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-08 10:52:227楼 得分:0
    我不可以改表结构的

    引用 4 楼 oracle_louis 的回复:
    invalid table name
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • Antony110
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-08 10:53:108楼 得分:0
    我不可以改表结构的

    引用 5 楼 oracledbalgtu 的回复:
    所有出现1.3.11.12 的地方都改成 "1.3.11.12" ,就可以了。

    引用楼主 Antony110 的帖子:
    我通过其他工具导入到ORACLE中一张表 表名为1.3.11.12
    表结构如下:
    -- Create table
    create table 1.3.11.12
    (
      CreateTime  DATE not null,
      RecordState VARCHAR2(10),
      percentUsed FLOAT,
      Mbfree      FLOAT,
      pagesPerSec FLOAT,
      TotalMemory FLOAT
    )
    tablespace OADATA
      pctfree 10
      ini…
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • oracledbalgtu
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 3

    发表于:2008-08-08 10:57:159楼 得分:0
    没有问题啊!!
    SQL code
    SQL> SELECT * FROM SYS."1.3.11.12"; CREATETIME RECORDSTATE PERCENTUSED MBFREE PAGESPERSEC TOTALMEMORY ----------- ----------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- Executed in 0.032 seconds SQL> SELECT createtime FROM SYS."1.3.11.12"; CREATETIME ----------- Executed in 0.031 seconds SQL>

    引用 6 楼 Antony110 的回复:
    因为是导入的表 表名显示就是1.3.11.12
    如果就执行“select * from 1.3.11.12”会报错(invalid table name )

    我加了引号后(select * from “1.3.11.12”)就可以执行了
    但是select createtime from "1.3.11.12"就不行
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • todayg
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-08 11:00:4510楼 得分:0
    引用 6 楼 Antony110 的回复:
    因为是导入的表 表名显示就是1.3.11.12
    如果就执行“select * from 1.3.11.12”会报错(invalid table name )

    我加了引号后(select * from “1.3.11.12”)就可以执行了
    但是select createtime from "1.3.11.12"就不行


    是CreateTime的大小写问题吧 
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • Antony110
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-08 11:15:4411楼 得分:0

    跟大小写无关

    引用 10 楼 todayg 的回复:
    引用 6 楼 Antony110 的回复:
    因为是导入的表 表名显示就是1.3.11.12
    如果就执行“select * from 1.3.11.12”会报错(invalid table name )

    我加了引号后(select * from “1.3.11.12”)就可以执行了
    但是select createtime from "1.3.11.12"就不行


    是CreateTime的大小写问题吧 
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • Antony110
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-08 11:16:4612楼 得分:0
    你是去改了表结构 现在就是不能改表结构啊
    我还是执行了会报错。。。

    引用 9 楼 oracledbalgtu 的回复:
    没有问题啊!!

    SQL code

    SQL> SELECT * FROM SYS."1.3.11.12";

    CREATETIME  RECORDSTATE                                                                      PERCENTUSED                                                                          MBFREE                                                                      PAGESPERSEC                                                              …
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • ydawei979
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-08 11:25:0913楼 得分:0
    1.3.11.12的表名是无效,但是建表的时候写成“1.3.11.12”是可以的,invalid identifier显示的是无效的表示符不是显示无效的表名。你看看查询的字段是不是写错了,可以改成select t.createtime from "1.3.11.12" t ,即是在t.后选择你要查询的字段试试
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • Antony110
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-08 12:07:4514楼 得分:0

    表名是不能改变的 因为是导入的表
    所以不可能在建表的时候把表名换掉

    查询的字段也不可能写错 我试了好多遍了

    用T来引用也不行
    引用 13 楼 ydawei979 的回复:
    1.3.11.12的表名是无效,但是建表的时候写成“1.3.11.12”是可以的,invalid identifier显示的是无效的表示符不是显示无效的表名。你看看查询的字段是不是写错了,可以改成select t.createtime from "1.3.11.12" t ,即是在t.后选择你要查询的字段试试
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • Antony110
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-08 14:12:3015楼 得分:0
    没人能解决啊。。。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • sudanjsj
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-08 14:19:5016楼 得分:0
    6楼说的正确
    select * from “1.3.11.12“
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved