我用create在oracle 下建立了一个表,随即用insert 语句插入数据但是总报告“无效列名“的错误。但是列名绝对是正确的


我用create在oracle 下建立了一个表,随即用insert 语句插入数据但是总报告“无效列名“的错误。但是列名绝对是正确的,百思不得其解。大虾救命。

CREATE TABLE functiongroup_table(
"functiongroup_id" NUMBER(8) NOT NULL, 
"functionname" VARCHAR2(10), 
"functiondesc" VARCHAR2(100),
"remark" VARCHAR2(300),
PRIMARY KEY("functiongroup_id")
); 
commit;

SQL> INSERT INTO FUNCTIONGROUP_TABLE (functiongroup_id ,functionname ,functiondesc ,remark ) VALUES 
(1 ,'入所登记' ,'入所登记' ,''  )
  2  ;
INSERT INTO FUNCTIONGROUP_TABLE (functiongroup_id ,functionname ,functiondesc ,remark ) VALUES (1 ,'
                                                                               *
ERROR 位于第 1 行:
ORA-00904: 无效列名

13 个解决方案

#1


CREATE TABLE functiongroup_table(
functiongroup_id NUMBER(8) NOT NULL, 
functionname VARCHAR2(10), 
functiondesc VARCHAR2(100),
remark VARCHAR2(300),
PRIMARY KEY(functiongroup_id)
); 
commit;

INSERT INTO FUNCTIONGROUP_TABLE (functiongroup_id ,functionname ,functiondesc ,remark ) VALUES 
(1 ,'入所登记' ,'入所登记' ,''  );

#2


建表时,列名被强制成为小写,而插入时的SQL语句写法,Oracle会默认为大写的列名,所以你的插入语句会失败.
修改的两种办法,一种为zhuzhichao(竹之草)提供的重建表.另一种为
InsertINTO FUNCTIONGROUP_TABLE ("functiongroup_id","functionname","functiondesc","remark") VALUES 
(1 ,'入所登记' ,'入所登记' ,''  );
即强制列名为小写。

#3


我按两位的做法都试验过了,还是不行。奇怪。太奇怪了。
实际上我是创建完表后就想插入数据,但是无论在oracle DBA studio 还是在delphi的sql explore下都不能插入数据,错误就是“-00904: 无效列名“,快救命。



#4


我按两位的做法都试验过了,还是不行。奇怪。太奇怪了。
实际上我是创建完表后就想插入数据,但是无论在oracle DBA studio 还是在delphi的sql explore下都不能插入数据,错误就是“-00904: 无效列名“,快救命。

#5


你建表时加引号干吗?列名就是"functiongroup_id" ,你插到functiongroup_id里面肯定不行,找不到列名。
不加引号,把表从建一遍!

#6


ORACLE缺省是不区分大小写的,还有命名规则,而你使用“双引号”就是忽略这些限制,严格按照你指定的名字来建立对象。
你在使用这种对象时也需要使用双引号来引用对象名。

#7


INSERT INTO FUNCTIONGROUP_TABLE ("functiongroup_id" ,"functionname" ,"functiondesc" ,"remark" ) VALUES 
(1 ,'入所登记' ,'入所登记' ,''  )

DDL语句会结束一个TRANSACTION,建表以后不用COMMIT。

#8


我现在找到了另外一个建立表能插入数据的办法。就是用oracle dba studio 去建表,就可以插入数据,但是用insert语句还是不行。都试验过来

#9


是不是权限不够?
登录oracle dab studio建表与插入数据用户一致吗?

#10


我测试过了,9Thoughts是对的,如果你还不对就可能是别的什么原因了。

#11


都试验过了?
那错误代码是什么?请贴出来号不好?

#12


我以前也遇倒过。将字段名“”去掉。就行。

#13


楼上有位兄弟说得对,你建表时加引号干吗?去掉就好了,不要把问题搞得这么复杂好不好,其实很简单。我试过了,去掉引号就什么问题都没有了

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
© 2014-2018 ITdaan.com 粤ICP备14056181号