关于ORACLE ORA
由于系统移植,原来的数据库编码和时区都换了,原来的一些SQL文也出错了。。
经常崩出"ORA-01846: not a valid day of the week
"错误。
经测试,以下这个简单语句也会错!!
SQL> select next_day(sysdate,'FRIDAY') from DUAL;
select next_day(sysdate,'FRIDAY') from DUAL
ORA-01846: not a valid day of the week
经过查找一些资料,确实是时区或编码引起的。
想到阿拉伯数据是全世界通用的,那应该可以用1--7代替星期几
。
于是,立马产生以下语句:
select next_day(sysdate,5) from DUAL;
执行,结果出来了。。。
NEXT_DAY(SYSDATE,5)
-------------------
2009-11-19 15:47:39
至此,算是解决一个问题。。。
把记录写下来,以防哪天忘记了。同时,帮助一下遇到同样问题的同道中人^_^。
相关文档:
来源:不详 作者:佚名 时间:2009-9-6 17:14:04 Tags: Orac 使用方法
需求:业务逻辑在处理数据时,需要返回Message并阻止程序的继续运行。但是,在存储过程使用Oracle数据库的Raise根本无法满足现在的要求。
解决方法:
使用RAISE_APPLICATION_ERROR
RAISE_APPLICATION_ERROR ( erro ......
Oracle developer以其快速的数据处理开发而闻名,其异常处理机制也是比较完善,不可小觑。
1、 异常的优点
如果没有异常,在程序中,应当检查每个命令的成功还是失败,如
BEGIN
SELECT ...
-- check for ’no data found’ error
SELECT ...
-- check for ’no data found’ error
SEL ......
近日在学习Oracle 10G的过程中遇到一个问题,关闭数据库(shutdown immediate)后,再重启数据库(startup),启动失败,12514的错误,如果通过sqlplus /nolog进入数据库以后,用conn连接,一样不行。重新打开一个cmd窗口,输入:
sqlplus
用户名:sys@sim as sysdba,密码输入完成后,仍然出现如下错误:
ORA ......
IN和EXISTS区别
in 是把外表和内表作hash join,而exists是对外表作loop,每次loop再对内表进行查询。
一直以来认为exists比in效率高的说法是不准确的。
如果查询的两个表大小相当,那么用in和exists差别不大。
如果两个表中一个较小,一个是大表,则子查询表大的用exists,子查询表小的用in:
例如:表A(小表),表B ......
1、序列定义
ORACLE:
CREATE SEQUENCE <sequence_name>
INCREMENT BY <integer>
&n ......