中易网

oracle 创建存储过程提示编译错误,错误在哪里?

答案:2  悬赏:0  
解决时间 2021-03-08 09:48
CREATE OR REPLACe PROCEDURE delDic(id1 number)
AS
childCount number DEFAULT 0;
parentID number DEFAULT 0;
BEGIN

select parent_id into parentID from sys_dic where dic_id = id1;
if (parentID > 0) then
begin
select count(dic_id) into childCount from sys_dic where parent_id = parentID and dic_status = 'active';
update sys_dic set child_count = childCount where dic_id = parentID;
end;
end if;
commit;
END;
最佳答案
CREATE OR REPLACe PROCEDURE proc_favor_insert(proc_info out VARCHAR2) IS
house_favorID2 VARCHAr2(10)
favor_name2 VARCHAr2(20);
favor_remark2 VARCHAr2(50);
cou number;
BEGIN
SELECT MAX(house_favorID) INTO house_favorID2 from tb_favor;
IF house_favorID2 IS NULL
THEN
house_favorID2:='fav1001';
ELSE
house_favorID2:='fav'+cast(cast(substr(house_favorID2,4,4) as int)+1 as VARCHAr2(20));

---cast(cast(substr(house_favorID2,4,4) as int)+ 是house_favorID2 不是house_favorID
END IF;
SELECt COUNT(*) INTO cou FROM tb_favor WHERe favor_name=favor_name2;
---favor_name2的值呢 你没赋值 怎么来
IF cou>0
proc_info:='isHave';
ELSE
INSERT INTO tb_favor VALUES(house_favorID2,favor_name2,favor_remark2);
proc_info:='OK';
END IF;
END ;
全部回答
1. 创建完存储过程(在命令行),可以用showerr看具体错误 2. 可以在plsql中,输入"全班排名", 然后俺右键->编辑,看到具体错误 3. 你的sql从from后一直到group by的分号;是多余的,即便单独在sql窗口也会报错 sql应该改成 select b.学号,a.姓名, avg(a.成绩) 平均分,sum(a.成绩) 总分 from 成绩信息表 a join 学籍信息表 b on (a.学号=b.学号) join 班级信息表 c on (c.班级号=b.班级号) where c.班级名称=class group by b.学号 order by avg(成绩) ,b.学号 desc; 4. 存储过程不能直接用sql,要用游标或select……into方式 比如: create or replace procedure 全班排名( class in char(8) ) as cursor cur(p_class char(8)) is select b.学号,a.姓名, avg(a.成绩) 平均分,sum(a.成绩) 总分 from 成绩信息表 a join 学籍信息表 b on (a.学号=b.学号) join 班级信息表 c on (c.班级号=b.班级号) where c.班级名称=class group by b.学号 order by avg(成绩) ,b.学号 desc; rs cur%rowtype; begin for rs in cur(class) loop dbms_output.put_line(rs.学号||','||rs.姓名||','||rs.平均分||','||rs.总分); end loop; end;
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
省考是报哪里的单位就去哪里考试吗
尖山区地方税务局办税服务厅地址在哪,我要去
手机电池容易发烫,怎么办?
请问:小规模装饰企业二月网上要不要申报内资
一心堂蒙自云霞路连锁店地址有知道的么?有点
被人打成轻伤对方承担医药费后还会判刑吗
在手机店买了个手机坏了反厂丢失了现在不还我
宝马mini用来泡妞怎样
棕色皮鞋休闲的能搭配灰色大衣长款的吗?能的
东营汽车总站飞鹭快运中心这个地址在什么地方
怎么样把DVD电影拷到电脑上
我的电话是苹果4s,在它的左上角显示出无SIM
广州教堂行婚礼的费用
水利平价小炒地址在什么地方,想过去办事
sql2000后安装vs2008,附加数据库出现错误602
推荐资讯
蓬莱松黄叶怎么办?
求助,关于引入flask
颅底内面观各孔裂的名称及通过的结构分别是什
淘宝退款成功银行卡却没收到钱是怎么回事
保质期5月至10月三天,11月至次年4月4日,生产
神武 宠物炼化系统
英才教程六年级下册60和61页答案
有能让人变矮的药吗
怎么替换掉session的值
鸭的哪个部位比较好吃?
要使16x²+1成为完全平方公式,应加上的式子
沪松线到松江末班车几点?
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?