重新执行创建存储过程的语句
"create or replace procedure(或function)......"看是否有编译错
"create or replace procedure(或function)......"看是否有编译错
解决方案 »
- 文件管理系统数据库表结构
- 数据库里CIB是什么的缩写呢?
- oracle不同IP不同数据库,同一机子如何连接上两个oracle数据库
- 想写一个带参数的存储过程来读取数据,长时间没有写了忘记了
- IMP80 数据恢复问题
- 什么叫回滚段,干嘛用的?
- oracle查询条件,缩小范围最大的放在前面,还是,后面?
- 求救!怎样通过sqlplus sys/change_on_install@****登录远程数据库?
- pl/sql中,一个简单的存储过程和字符串判别的问题!
- 各位大虾知道那里有oracle的odbc驱动程序下载么?不要说oracle网站,我没账号~!
- 在oracle中如何实现sql server中的select ?=@@indentity语句
- plSQL四个问题期待解决:
看是否创建成功。
如果有编译错误,用 show err 可查看是什么错误。
CREATE or replace PROCEDURE TEST1
AS
cursor cur_carID(p_province varchar2) Is
select distinct carid
from businfo where province=p_province; cursor cur_speed(p_carID varchar2) Is
Select speed,latalona
From vi_exception_drive
where carid=p_carid
Order by carid; w_err_count number(3):=0;
w_count number(3):=0;
w_speed number(3):=0;
w_area_value number(3):=0;
w_latalona number(20):=0;
s_error_value number(3):=0;Begin
for s_province in select ratediff,province from exception_drive order by province loop
s_error_value:=s_province.ratediff; --get the ratediff value
for w_carID in cur_carID(s_province.province) loop open cur_speed(w_carID.carid);
loop
fetch cur_speed into w_speed,w_latalona;
select averagespeed into w_area_value from areainfo where areaid=w_latalona; if cur_speed%notfound then
if w_err_count > 0 then
insert into exceptiondrive_log values (w_carID.carID,w_err_count,sysdate,s_province);
end if;
exit;
end if; if abs(w_area_value-w_speed) >= s_error_value then
w_count:= w_count + 1;
else
w_count:= 0;
end if; if w_count = 3 then
w_err_count := w_err_count + 1;
w_count := 0;
end if;
end loop; end loop;
end loop;
end;
CREATE or replace PROCEDURE TEST1
is
david varchar2;
Begin
DBMS.OUTPUT.PUT_LINE('david test');
end;
http:\\[email protected] for s_province in (select ratediff,province from exception_drive order by province) loop
在你的select 语句两端加上括号看看。
DBMS_OUTPUT.PUT_LINE('david test');
上面的过程是你写的吗?有些变量没有定义吧
用show error察看错误信息,有些错误自己可以看出来