oracle 存储过程中文问题
2009-03-10 11:46
148 查看
这几天遇见个很棘手的问题.
经过几天的原因分析查找,终于把问题给解决的.不知道大家也是否遇见过.很简单的但有可能你会忽略.
大家有什么更好的方法 大家一起共享.
我写了这样一个存储过程:
create or replace procedure AUTO_CBD_HOLIDAY(inTime in varchar2) is
cursor cur_cbd_id is
select c.cbd_id from clear_by_day cwhere C.PLM_ID and
((to_char(C.BEGIN_TIME,'day')='星期六' or to_char(C.BEGIN_TIME,'day')='星期日')
and c.BEGIN_TIME>=add_months(to_date(inTime||-1,'yyyy-mm-dd'),1) and
c.BEGIN_TIME<=last_day(add_months(to_date(inTime||-1,'yyyy-mm-dd'),1)) );
var_cbd_id varchar2(10); --日清id
begin
open cur_cbd_id;
loop
FETCH cur_cbd_id into var_cbd_id;
EXIT WHEN cur_cbd_id%NOTFOUND;
update clear_by_day c set c.cbd_state='3' where c.cbd_id=var_cbd_id;
if sqlcode = 0 then
Commit;
else
Rollback;
end if;
end loop;
end AUTO_CBD_HOLIDAY;
以上过程在PLSQL Developer工具中每次都能正确的执行,而且速度相当快.但是在java程序中调用这个过程时每次都不生效.后来我换的一种形式处理.就是把 to_char(C.BEGIN_TIME,'day')='星期六' or to_char(C.BEGIN_TIME,'day')='星期日' 改成 to_char(C.BEGIN_TIME,'d')='7' or to_char(C.BEGIN_TIME,'d')='1'
问题就解决的.
大家以后在用oracle的时候 对于中文的问题的特加注意!问题终于解决,真爽.
经过几天的原因分析查找,终于把问题给解决的.不知道大家也是否遇见过.很简单的但有可能你会忽略.
大家有什么更好的方法 大家一起共享.
我写了这样一个存储过程:
create or replace procedure AUTO_CBD_HOLIDAY(inTime in varchar2) is
cursor cur_cbd_id is
select c.cbd_id from clear_by_day cwhere C.PLM_ID and
((to_char(C.BEGIN_TIME,'day')='星期六' or to_char(C.BEGIN_TIME,'day')='星期日')
and c.BEGIN_TIME>=add_months(to_date(inTime||-1,'yyyy-mm-dd'),1) and
c.BEGIN_TIME<=last_day(add_months(to_date(inTime||-1,'yyyy-mm-dd'),1)) );
var_cbd_id varchar2(10); --日清id
begin
open cur_cbd_id;
loop
FETCH cur_cbd_id into var_cbd_id;
EXIT WHEN cur_cbd_id%NOTFOUND;
update clear_by_day c set c.cbd_state='3' where c.cbd_id=var_cbd_id;
if sqlcode = 0 then
Commit;
else
Rollback;
end if;
end loop;
end AUTO_CBD_HOLIDAY;
以上过程在PLSQL Developer工具中每次都能正确的执行,而且速度相当快.但是在java程序中调用这个过程时每次都不生效.后来我换的一种形式处理.就是把 to_char(C.BEGIN_TIME,'day')='星期六' or to_char(C.BEGIN_TIME,'day')='星期日' 改成 to_char(C.BEGIN_TIME,'d')='7' or to_char(C.BEGIN_TIME,'d')='1'
问题就解决的.
大家以后在用oracle的时候 对于中文的问题的特加注意!问题终于解决,真爽.
相关文章推荐
- 解决Linux下Oracle 10g数据库em,dbca中文方块乱码问题
- Oracle:sqlplus查询出的中文是乱码问题的解决(转)
- Oracle问题小记五:服务启动-索引-子查询-分页存储过程
- 64位Windows2008下插入Oracle中文乱码问题解决
- oracle中imp导入数据中文乱码问题
- 由中文“·”不能正确写入Oracle中——jdbc 字符集和数据库字符集的问题
- 关于C#,.net 访问oracle中文乱码问题
- linux 下oracle 10g sqlplus中文显示和输入的问题
- ORACLE中文排序方式 vs SQL Server 2005的中文排序问题
- 最近oracle开发中遇到的一些问题及解决办法(四):调试存储过程--待续
- asp.net连接oracle无法进行中文字符查询的问题
- Oracle使用——PLSQL的中文乱码问题
- PLSQL连接远程ORACLE遇到的中文乱码问题
- 关于C#,.net 访问oracle中文乱码问题
- Liunx环境下解决Oracle中文乱码问题
- Oracle调用存储过程输出的游标问题
- midlet通过http访问servlet,进而访问oracle的一些中文处理问题
- 解决C#中用Oracle执行存储过程返回DataSet的问题
- Oracle 中文乱码问题
- 如何解决Oracle中文乱码问题