CREATE OR REPLACE PROCEDURE create_ips_task_time_control as
cursor v_cursor is select REGION_CODE from ips_region_code_tbl where region_type='01' and region_grade=2;
v_id varchar2(20);
begin
open v_cursor
loop
FETCH v_cursor INTO v_id;
IF (v_cursor%NOTFOUND)
THEN
DBMS_OUTPUT.PUT_LINE('last'||v_id);
EXIT ;
END IF;
insert into tmp_ips_task_time_control set_type values(v_id);
end loop;
close v_cursor;
end;这段脚本有什么错误呢,报下面的错误,帮我看看,谢谢
Compilation errors for PROCEDURE CHSREP.CREATE_IPS_TASK_TIME_CONTROLError: PLS-00103: Encountered the symbol "LOOP" when expecting one of the following:
. ( % ; for
The symbol "; was inserted before "LOOP" to continue.
Line: 6
Text: loopError: PLS-00103: Encountered the symbol "CLOSE"
Line: 15
Text: close v_cursor;
cursor v_cursor is select REGION_CODE from ips_region_code_tbl where region_type='01' and region_grade=2;
v_id varchar2(20);
begin
open v_cursor
loop
FETCH v_cursor INTO v_id;
IF (v_cursor%NOTFOUND)
THEN
DBMS_OUTPUT.PUT_LINE('last'||v_id);
EXIT ;
END IF;
insert into tmp_ips_task_time_control set_type values(v_id);
end loop;
close v_cursor;
end;这段脚本有什么错误呢,报下面的错误,帮我看看,谢谢
Compilation errors for PROCEDURE CHSREP.CREATE_IPS_TASK_TIME_CONTROLError: PLS-00103: Encountered the symbol "LOOP" when expecting one of the following:
. ( % ; for
The symbol "; was inserted before "LOOP" to continue.
Line: 6
Text: loopError: PLS-00103: Encountered the symbol "CLOSE"
Line: 15
Text: close v_cursor;
解决方案 »
- 下面这个查询语句,一直报错,说,stojou.iptdat_0标识符无效。跪求帮助!
- Oracle9i导到Oracle10G 64位中文表、视图不能导入
- 請教一個關于exception的問題
- ORACLE sys和system無sysdba權限
- 【大家帮我看看为什么这条SQL执行起来非常慢!!!】
- mysql 过程捕捉异常
- oracle应用软件plsql中functions,procedures,packages有什么区别
- 为什么没存到库里去?
- 当ORACLE8.1.7中的某一表的数据有改动时,怎样将这个表的数据时时反映到SQL SERVER 2000的某一表中?
- 气死我了!!!为什么我的Oracle9i就是装不上呢??
- 将'2007年04月01日'转换成日期型的问题
- ASP.NET与Oracle连接的奇怪问题!急!
象我下面这样写.
下面的脚本执行没有反映,不知道是那里出错拉!--初始化任务时效表(ips_task_time_control)
DECLARE
v_regionCode ips_region_code_tbl.REGION_CODE%TYPE;
v_investigateType ips_task_time_control.INVESTIGATE_TYPE%TYPE;
CURSOR c1 IS select REGION_CODE from ips_region_code_tbl where region_type='01' and region_grade=2;
CURSOR c2 IS select id from investigate_type_tbl;
BEGIN
OPEN c1;
LOOP
FETCH c1 INTO v_regionCode;
EXIT WHEN c1%NOTFOUND;
open c2;
LOOP
FETCH c2 into v_investigateType;
EXIT WHEN c2%NOTFOUND;
insert into ips_task_time_control (no,set_type,branch_code,investigate_type,value,update_user,update_date) values(SEQ_IPS_OPERATE_REGION.NEXTVAL,'1',v_regionCode,v_investigateType,15,'admin',current_date);
END LOOP;
END LOOP;
CLOSE c1;
CLSOE c2;
COMMIT;
EXCEPTION
WHEN OTHERS THEN
ROLLBACK;
END;
--可以的
不会是数据太多了,时间很长吧
begin
for p in (select REGION_CODE from ips_region_code_tbl where region_type='01' and region_grade=2)
loop
for q in(select id from investigate_type_tbl)
loop
insert into ips_task_time_control (no,set_type,branch_code,investigate_type,value,update_user,update_date) values(SEQ_IPS_OPERATE_REGION.NEXTVAL,'1',p.region_code,q.id,15,'admin',current_date);
end loop;
end loop;
end;
在网上看到有这样的写法,这样有没有问题呀,为什么执行后,没有反映,没有插进数据呀
begin
for p in (select REGION_CODE from ips_region_code_tbl where region_type='01' and region_grade=2)
loop
for q in(select id from investigate_type_tbl)
loop
insert into ips_task_time_control (no,set_type,branch_code,investigate_type,value,update_user,update_date) values(SEQ_IPS_OPERATE_REGION.NEXTVAL,'1',p.region_code,q.id,15,'admin',current_date);
end loop;
end loop;
end;
--看上去没有问题,不会使你调用的地方没有提交吧
为什么在csdn上看不到自己的回复呢,奇怪
加上commit