reate or replace procedure dvb_FAF_4 Is cursor c_dept IS
select CUST_nO,COUNT(*) as aa from customer_bak where ( to_char(backup_date,'yyyy-mm-dd')>='2007-11-01' and
to_char(backup_date,'yyyy-mm-dd')<='2007-11-12') and (backup_status='A' OR backup_status='F' ) GROUP BY CUST_nO ;
BEGIN
FOR r_dept IN c_dept LOOP
IF mod(r_dept.aa,2)=1) then
select status from customer where cust_no=r_dept.cust_No;
IF status='F' then
update t_users_temp set status='1' where CUST_nO=r_dept.cust_No ;
IF status='1' then
update t_users_temp set status='F' where CUST_nO=r_dept.cust_No ; END LOOP;
commit;
end dvb_FAF_4;
这是我的存储过程,实际上还算不上,就是我已经有了解决问题的思路,但是我是第一次写,所以语法不太会,希望大家能给指点一下,谢谢。
下面解释一下我的目的:
CUST_nO,COUNT(*) 这是我查出来的放进游标的值,然后对count(*)取余数,如果是1,则执行select status from customer where cust_no=r_dept.cust_No;此语句。得到一个结果。再进行判断,如果查出来的值是F,则
update t_users_temp set status='1' where CUST_nO=r_dept.cust_No ;
如果是1,则 update t_users_temp set status='F' where CUST_nO=r_dept.cust_No;
问题结束。
希望大家有时间帮我看一下,谢谢!
select CUST_nO,COUNT(*) as aa from customer_bak where ( to_char(backup_date,'yyyy-mm-dd')>='2007-11-01' and
to_char(backup_date,'yyyy-mm-dd')<='2007-11-12') and (backup_status='A' OR backup_status='F' ) GROUP BY CUST_nO ;
BEGIN
FOR r_dept IN c_dept LOOP
IF mod(r_dept.aa,2)=1) then
select status from customer where cust_no=r_dept.cust_No;
IF status='F' then
update t_users_temp set status='1' where CUST_nO=r_dept.cust_No ;
IF status='1' then
update t_users_temp set status='F' where CUST_nO=r_dept.cust_No ; END LOOP;
commit;
end dvb_FAF_4;
这是我的存储过程,实际上还算不上,就是我已经有了解决问题的思路,但是我是第一次写,所以语法不太会,希望大家能给指点一下,谢谢。
下面解释一下我的目的:
CUST_nO,COUNT(*) 这是我查出来的放进游标的值,然后对count(*)取余数,如果是1,则执行select status from customer where cust_no=r_dept.cust_No;此语句。得到一个结果。再进行判断,如果查出来的值是F,则
update t_users_temp set status='1' where CUST_nO=r_dept.cust_No ;
如果是1,则 update t_users_temp set status='F' where CUST_nO=r_dept.cust_No;
问题结束。
希望大家有时间帮我看一下,谢谢!
解决方案 »
- 关于oracle在linux下内存使用
- 美资公司招Oracle DBA工程师(上海)
- 请问在oracel中怎样给一个时间增加小时,分,秒
- 关于guid的问题
- oracle安装时的问题.
- QQ群:“潍坊IT开发者俱乐部”:5778839;欢迎高手加入。
- 奇怪问题:为什么这样执行execute immediate 动态SQL不行?
- 谁有TOAD的注册码,分少了再加都可以.
- 求教ORACLE临时表的问题
- ORACLE cast函数 将日期转换为字符串问题
- 急求助大侠:oracle 中的事务处理的小问题,先谢过了.....
- 请教,在一个oracle数据库中建一个存储过程,存储过程中要查询、修改另外一个oracle数据库中某一表的数据,select、updata如何写,谢谢!
2, 所有的IF 都要写相对应的END IF;
3, BEGIN..END之间的SELECT语句要写成SELECT - INTO 变量 格式