Oracle开发小集锦(不断更新)

其中部分是转自其它地方。

select user from dual 查看当前连接的用户名

ORA-24338: 未执行语句句柄
    这个问题主要出现在使用数据库游标的时候。当执行存储过程,返回的游标没有打开时,就会报这个错。
open cur_User for select * from sy_users;
    游标没有打开的情况一般是忘记了写打开游标的语句,也可能是存储过程中执行出错,导致最后游标未打开. 
    一般情况也会因为磁盘空间满了也会造成这样的提示。

ora-01789 查询块具有不正确的结果列数
     这个错误一般在执行表之间的相加(union),相减(minus)等SQL语句时发生。只要将两段SQL语句的列数调整一致就可以解决了。

OCI-22053 overflow error
    NET开发中使用微软的System.Data.OracleClients访问ORACLE 数据库时,如果某字段的精度超出.NET的数据精度,就会发生OCI-22053错误.我个人解决OCI-22053错误溢出的方法是使用Oracle的函数TRUNC其具体的语法格式如下
        TRUNC(number[,decimals])
    将length设置为NET允许的长度就OK 了

ORA-01555: Snapshot too old
    这个错误很少见,跟系统设置有关系。实际的问题是对数据库执行操作时,系统的回滚段太小。引起的原因一般是执行SQL语句时间太长,执行过程中有回滚记录的操作太多。解决方法要么是增大数据库回滚段空间,要么更改SQL。

原文地址:https://www.cnblogs.com/liubiqu/p/453322.html