为了账号安全,请及时绑定邮箱和手机立即绑定

Oracle数据库开发必备利器之PL/SQL基础

难度初级
时长 3小时22分
学习人数
综合评分9.57
114人评价 查看评价
9.8 内容实用
9.4 简洁易懂
9.5 逻辑清晰
  • --对于Oracle,默认的事务隔离级别是read committed --事务的ACID(原则性,一致性,隔离性,持久性)
    查看全部
  • 光标的语法 CURSOR 光标名[(参数名 数据类型[,参数名 数据类型]...)] IS SELECT 语句; cursor c1 is select ename from emp; 打开光标:open c1; 关闭光标:close c1; 取一行光标的值: -fetch c1 into pename;(取一行到变量中) -fetch 的作用: -把当前指针指向的记录返回 -将指针指向下一条记录
    查看全部
  • oracle——PL/SQL DB2——SQL/PL SOL Server——T-SQL
    查看全部
    0 采集 收起 来源:PL/SQL简介

    2015-08-23

  • 循环语句 While total <= 25000 LOOP ..... total := total+salary; END LOOP; LOOP EXIT [when tiaojian]; ... end loop FOR I IN 1..3 LOOP 语句序列; END loop;
    查看全部
  • 记录型变量(代表表中的一行,理解成数组) 例:emp_rec emp%routype; emp_rec.ename := 'ADAMS';
    查看全部
  • set serveroutput on declare --说明 pnumber number(7,2); pname varchar2(20); pdate date; begin --程序 pnumber := 1; pname :='Tom'; pdate := sysdate; dbms_output.put_line(pnumber); dbms_output.put_line(pname); dbms_output.put_line(pdate); end;
    查看全部
  • 光标限制:默认情况下,Oracle数据库只允许在同一个会话中打开300个光标。
    查看全部
  • declare --定义光标 查询empno以及job岗位 cursor c1 is select empno,job from emp; --声明一个变量 此变量与emp表中的job字段类型一致 emp_job emp.job%type; --声明一个变量 此变量与emp表中的empno字段类型一致 emp_empno emp.empno%type; --开始 begin --打开光标 open c1; --循环开始 loop --取出光标 fetch c1 into emp_empno,emp_job; exit when c1%notfound;--判断光标是否存在 如果存在 则往下执行 否则 不执行 if emp_job='PRESIDENT' then update emp set sal =sal+1000 where empno=emp_empno; elsif emp_job='MANAGER' then update emp set sal =sal+800 where empno=emp_empno; else update emp set sal =sal+1000 where empno=emp_empno; end if; end loop;--退出循环 close c1;--关闭光标 end;--结束标识
    查看全部
  • --找出emp中的所有职位 declare --定义光标 查询job岗位 cursor c1 is select job_id from employees; --声明一个变量 此变量与emp表中的job字段类型一致 emp_job employees.job_id%type; --开始 begin --打开光标 open c1; --循环开始 loop --取出光标 fetch c1 into emp_job; exit when c1%notfound;--判断光标是否存在 如果存在 则往下执行 否则 不执行 dbms_output.put_line(emp_job); end loop;--退出循环 close c1;--关闭光标 end;--结束标识
    查看全部
  • 瀑布模型
    查看全部
  • 涉及多张表使用了嵌套循环,内层使用带参数的光标。 set serveroutput on declare cursor cdept is select deptno from dept; pdeptno dept.deptno%type; cursor cemp(dno number) is select sal from emp where deptno=dno; psal emp.sal%type; count1 number; count2 number; count3 number; saltotal number; begin open cdept; loop fetch cdept into pdeptno; exit when cdept%notfound; count1 :=0; count2 :=0; count3 :=0; select sum(sal) into saltotal from emp where deptno=pdeptno; open cemp(pdeptno); loop fetch cemp into psal; exit when cemp%notfound; if psal<3000 then count1:=count1+1; elsif psal>=3000 and psal<6000 then count2:=count2+1; else count3:=count3+1; end if; end loop; close cemp; insert into msg values(pdeptno,count1,count2,count3,nvl(saltotal,0)); end loop; close cdept; commit; dbms_output.put_line('统计完成'); end; /
    查看全部
  • * for循环语句 1..5 1,2,3,4,5 连续数字 declare pnum number :=1; begin for pnum in 1..5 loop dbms_output.put_line(pnum); end loop; end; / loop 循环 exit条件成立退出循环,不成立执行循环体 declare pnum number :=1; begin * loop exit when pnum >10; dbms_output.put_line(pnum); pnum := pnum+1; end loop; end; / * while 循环 declare pnum number :=1; begin while pnum <=10 loop dbms_output.put_line(pnum); pnum := pnum+1; end loop; end; /
    查看全部
  • 瀑布模型: 需求分析 设计:概要设计、详细设计 编码 测试 上线 忌讳一上来就写程序,应当先分析问题: SQL语句; 变量:1.初始值是多少;2.最终值如何得到
    查看全部
  • --成绩统计sql 片段3 --判断成绩的范围 if pgrade < 60 then count1 := count1+1; elsif pgrade >= 60 and pgrade < 85 then count2:=count2+1; else count3 := count3+1; end if; end loop; close cgrade; --保存当前的结果 insert into msg1 values(pcourseName,pdno,count1,count2,count3,avggreade); end loop; --关闭系的光标 close cdept; --事务提交 commit; dbms_output.put_line('统计完成'); end;
    查看全部
  • --成绩统计sql 片段2 begin --打开系的光标 open cdept; loop --取出一个系的信息 fetch cdept into pdno,pdname; exit when cdept%notfound; --初始化工作 count1 :=0;count2 :=0;count3 :=0; --系的平均成绩 select avg(grade) into avggrade from sc where cno = (select cno from course where cname=pcourseName) and sno in (select sno from student where dno=pdno) --取系中选修了大学物理的学生成绩 open cgrade(pcourseName,pdno); loop fetch cgrade into pgrade; exit when cgrade%notfound;
    查看全部

举报

0/150
提交
取消
课程须知
亲,要学习本门课程只需要熟练使用Oracle的SQL语句就可以了,可以参考慕课网的课程《Oracle数据库开发必备利器之SQL基础》呦!
老师告诉你能学到什么?
1、能够熟练掌握PL/SQL的基本语法 2、能够熟练使用光标和例外 3、能够熟练使用PL/SQL进行开发

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!