论坛首页 Java企业应用论坛

工作中遇到的oracle ORA-XX 错误

浏览 2253 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2010-02-10   最后修改:2010-02-10

1. ORA-00922:选项缺失或无效,一般是语句语法有问题。

    比如命名不对,关键字写错等等。对于非标准的命名,一般采用双引号来创建。

    标识符命名规则:

      1)、必须以字母开始。

      2)、长度不能超过30个单字节字符。

      3)、只能包括A-Z,a-z,0-9,_,$和#。

      4)、不能在相同用户下建立两个同名的对象。

      5)、不能使用保留字和关键字。

 

2.ORA-00937: 不是单组分组函数

   select t.jnlno,

       sum((t.transferrate - 1) * t.amount) as totalratedamount,
       --t.status,
       t.rewardflg
       --t.rewardjnl,
       --t.shopname
from BUSI_BANK_TRANS_HISTORY t
where t.rewardflg = '0'
group by t.jnlno,t.rewardflg

   上面的查询使用了除了包含聚合函数外,还包含了表的某些列,那么你将必须使用group by语句,否则语法通不过。

   上面除了聚合函数,还有jnlno,status,rewardfla等,下面的group by都要包含。

 

3.ORA-01756: 引号内的字符串没有正确结束

 

sql.append(" where t.rewardflg = '0' ");

 

   0后面的单引号写掉了一个

 

4.ORA-01747: user.table.column, table.column 或列说明无效

   我的sql错误:

    update busi_bank_trans_history t set t.status = '1', where t.status = '5'

   多了个逗号。

   1).表,或者表中的列无效,检查下表,列是否存在

   2).与ORACLE保留字有关 ,建表不能用oracle保留字。

   执行下面语句可以查看oracle关键字:

   select * from v$reserved_words

     

 

论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics