ORA-00904:标识符无效是什么原因 5
在做查询的时候这个语句selecta.name,b.sname,c.scorefromgradea,studentb,subjectcwherea.no=c.noandc...
在做查询的时候这个语句
select
a.name,
b.sname,
c.score
from grade
a,student
b,subject
c where a.no=c.no and c.sno=b.sno
;
总是出现
第 8 行出现错误:
ORA-00904: "B"."SNO": 标识符无效
请问怎么解决啊?是这个语句有问题吗?
我是想要查询某个学生某个科目的成绩; 展开
select
a.name,
b.sname,
c.score
from grade
a,student
b,subject
c where a.no=c.no and c.sno=b.sno
;
总是出现
第 8 行出现错误:
ORA-00904: "B"."SNO": 标识符无效
请问怎么解决啊?是这个语句有问题吗?
我是想要查询某个学生某个科目的成绩; 展开
1个回答
展开全部
因为SQL中列名写错了,导致查询的时候,报的标识符无效,或是数据库中没有这个列名,但是SQL语句中有这个字段,可以直接用PL/SQL直接给客户添加了缺少的字段。
Oracle会将小写自动转换为大写,比如数据库中的字段是小写,查询的SQL语句也是小写,但是ORACLE 将查询语句转为了大写(ORACLE严格区分大小写)这样去数据库中查找,它就找不到对应的字段,这样数据库就会报错。
解决方案:将这段代码中的表名替换成自己要修改的表名,就可以把表中所有的小写字段名一下全部换为大写,很方便。
扩展资料:
在程序设计语言中,标识符是用作程序的某一元素的名字的字符串或用来标识源程序中某个对象的名字的,这个元素可以是一个语句标号,一个过程或函数、一个数据元素(例如一个标量变量或一个数组)或程序本身。
最通常是,标识符这个字几乎与变量名同义地使用,在程序数据的位置在整个程序执行期间保持不变的系统中,用于标量变量的标识符联系到存储器地址,而存储器地址又指向机器的存储器内的物理单元,该单元又含有一个值的表示。
标识符与一个值之间的中间关系通常对程序员是透明的,因此在实际中在一个变量的名字(即其标识符)与其值(它是分配给该标识符的存储单元的当前内容)之间出现混淆。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询