-
--打开光标 open cdep; loop fetch cdep into cdno,cdname; exit when cdep%notfound; count1 :=0; count2 :=0; count3 :=0; avggrade:=0; --打开光标 open csc(pcoursename,cdno); loop fetch csc into sgrade; exit when csc%notfound; if sgrade<60 then count1:=count1+1; elsif sgrade>=60 and sgrade<85 then count2:=count2+1; else count3:=count3+1; end if; avggrade:=avggrade+sgrade; end loop; if count1=0 and count2=0 and count3=0 then avggrade:=0; else avggrade:=avggrade/(count1+count2+count3); end if; --关闭光标 close csc; insert into msg1 values(pcoursename,cdname,count1,count2,count3,avggrade); end loop; commit; --关闭光标 close cdep;查看全部
-
老师讲的很好,既学习了plsql,有学习了老师编写代码的方法。查看全部
-
declare cursor cemp is select sal,empno from emp order by sal; pempno emp.empno%type; psal emp.sal%type:=0; countemp number:=0; total_sal number; begin --得到总工资额 select sum(sal) into total_sal from emp; --打开光标 open cemp; loop exit when total_sal>50000; fetch cemp into psal,pempno; exit when cemp%notfound; update emp set sal=sal*(1+0.1) where empno=pempno; total_sal:=total_sal+psal*0.1; countemp:=countemp+1; --修正 if total_sal>50000 then total_sal:=total_sal-psal*0.1; update emp set sal=sal/1.1 where empno=pempno; countemp:=countemp-1; end if; end loop; --关闭光标 close cemp; commit; dbms_output.put_line('涨工资的人数:'||countemp); dbms_output.put_line('工资总额:'||total_sal); end; /查看全部
-
引出在PL/SQL中的结果集——光标(或游标)查看全部
-
PL/SQL中的三种循环: 1.while 条件成立 loop 循环体 end loop; 2.loop exit when 条件成立 循环体 end loop; 3.for 循环变量 in 循环变量的可能取值 loop 循环体 end loop;查看全部
-
1.在PL/SQL中使用if语句,(注意:elsIf的写法) 2.PL/SQL中接受从键盘输入的数值 从键盘输入数值:accept num prompt '请输入数字' PL/SQL中接受数字:declare pnum := #(注意:其中的num为地址值)查看全部
-
PL/SQL的变量类型的特例:引用型变量和记录型变量 %type %rowtype查看全部
-
PL/SQL基本结构说明之一:declare声明查看全部
-
oracle参考文档查看全部
-
操作oracle数据库的又一个软件oracle sql developer查看全部
-
@苏小闲 pdname dep.dname&type;<br> -每个分数段的人数 count1 number,count2 number,count3 number; 有点小失误查看全部
-
plsql条件判断demo查看全部
-
程序结构查看全部
-
自定义异常查看全部
-
例外处理 no_data_found查看全部
举报
0/150
提交
取消