首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > 其他数据库 >

工作中遇到的oracle ORA-XX 异常

2012-09-24 
工作中遇到的oracle ORA-XX 错误1. ORA-00922:选项缺失或无效,一般是语句语法有问题。?? ?比如命名不对,关

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

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.shopnamefrom BUSI_BANK_TRANS_HISTORY twhere 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

?????

?

热点排行