从sql server 中导入到oracle中的表为什么在查询的时候一定得将表名用双引号(“”)扩起来才能识别??????

时间:2021-04-13 00:39:50
从sql server 中导入到oracle中的表为什么在查询的时候一定得将表名用双引号(“”)扩起来才能识别??????

8 个解决方案

#1


因为你在创建表的语句时表名加上了双引号(“”)。打开语句文本看看.

#2


你的表名是中文名吗?

#3


把语句贴出来看看!

#4


创建语句:

-- Create table
create table sys_users
(
  U_CODE       VARCHAR2(12) not null,
  U_NAME       VARCHAR2(20),
  U_DESC       VARCHAR2(40),
  U_DEPTNO     VARCHAR2(12) not null,
  U_OPCODE     VARCHAR2(8),
  U_LEVEL      NUMBER(10),
  U_CHECK      VARCHAR2(1),
  U_PASSW      VARCHAR2(40),
  U_DATESTART  DATE,
  U_DATEEND    DATE,
  U_PASSLENGTH NUMBER(10),
  U_LOCK       NUMBER(10),
  U_LOCKTIME   NUMBER(10),
  U_LOCKSTART  VARCHAR2(19),
  U_PASSSTATE  VARCHAR2(1),
  U_LOSTTIME   NUMBER(10),
  U_LOGTIME    VARCHAR2(168),
  U_MAC        VARCHAR2(30)
)
tablespace USERS
  pctfree 10
  initrans 1
  maxtrans 255
  storage
  (
    initial 64K
    minextents 1
    maxextents unlimited
  );

#5


ding

#6


引用 4 楼 libolibo888 的回复:
创建语句: 

-- Create table 
create table sys_users 

  U_CODE      VARCHAR2(12) not null, 
  U_NAME      VARCHAR2(20), 
  U_DESC      VARCHAR2(40), 
  U_DEPTNO    VARCHAR2(12) not null, 
  U_OPCODE    VARCHAR2(8), 
  U_LEVEL      NUMBER(10), 
  U_CHECK      VARCHAR2(1), 
  U_PASSW      VARCHAR2(40), 
  U_DATESTART  DATE, 
  U_DATEEND    DATE, 
  U_PASSLENGTH NUMBER(10), 
  U_…
这样创建表的话,select时应该不需要给表加上""才能查到啊

#7


不懂sqlserver ,学习

#8


多谢大家了,问题解决,原因是,从sql server 导入到oracle之后,oracle不识别小写表名。转换成大写就搞定了。

#1


因为你在创建表的语句时表名加上了双引号(“”)。打开语句文本看看.

#2


你的表名是中文名吗?

#3


把语句贴出来看看!

#4


创建语句:

-- Create table
create table sys_users
(
  U_CODE       VARCHAR2(12) not null,
  U_NAME       VARCHAR2(20),
  U_DESC       VARCHAR2(40),
  U_DEPTNO     VARCHAR2(12) not null,
  U_OPCODE     VARCHAR2(8),
  U_LEVEL      NUMBER(10),
  U_CHECK      VARCHAR2(1),
  U_PASSW      VARCHAR2(40),
  U_DATESTART  DATE,
  U_DATEEND    DATE,
  U_PASSLENGTH NUMBER(10),
  U_LOCK       NUMBER(10),
  U_LOCKTIME   NUMBER(10),
  U_LOCKSTART  VARCHAR2(19),
  U_PASSSTATE  VARCHAR2(1),
  U_LOSTTIME   NUMBER(10),
  U_LOGTIME    VARCHAR2(168),
  U_MAC        VARCHAR2(30)
)
tablespace USERS
  pctfree 10
  initrans 1
  maxtrans 255
  storage
  (
    initial 64K
    minextents 1
    maxextents unlimited
  );

#5


ding

#6


引用 4 楼 libolibo888 的回复:
创建语句: 

-- Create table 
create table sys_users 

  U_CODE      VARCHAR2(12) not null, 
  U_NAME      VARCHAR2(20), 
  U_DESC      VARCHAR2(40), 
  U_DEPTNO    VARCHAR2(12) not null, 
  U_OPCODE    VARCHAR2(8), 
  U_LEVEL      NUMBER(10), 
  U_CHECK      VARCHAR2(1), 
  U_PASSW      VARCHAR2(40), 
  U_DATESTART  DATE, 
  U_DATEEND    DATE, 
  U_PASSLENGTH NUMBER(10), 
  U_…
这样创建表的话,select时应该不需要给表加上""才能查到啊

#7


不懂sqlserver ,学习

#8


多谢大家了,问题解决,原因是,从sql server 导入到oracle之后,oracle不识别小写表名。转换成大写就搞定了。