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

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

难度初级
时长 3小时22分
学习人数
综合评分9.57
114人评价 查看评价
9.8 内容实用
9.4 简洁易懂
9.5 逻辑清晰
  • 有基本类型变量,引用类型变量,记录类型变量
    查看全部
  • pl/sql是面向过程的语言,优点是比sql语言简单,高效,灵活,实用
    查看全部
    0 采集 收起 来源:PL/SQL简介

    2015-09-05

  • set serveroutput on declare --说明部分(变量,光标和例外) begin --程序体 end; /
    查看全部
  • SET serveroutput ON DECLARE CURSOR cemp IS SELECT empno,sal FROM emp ORDER BY sal; pempno emp.empno%type; psal emp.sal%type; countEmp NUMBER :=0; salTotal NUMBER; BEGIN SELECT SUM(sal) INTO salTotal FROM emp; OPEN cemp; LOOP EXIT WHEN salTotal > 50000; FETCH cemp INTO pempno,psal; EXIT WHEN cemp%notfound; UPDATE emp SET sal=sal*1.1 WHERE empno=pempno; countEmp := countEmp +1; salTotal :=salTotal + psal*0.1; END LOOP; CLOSE cemp; COMMIT; dbms_output.put_line('人数:'||countEmp ||' 总额:'||saltotal); END; /
    查看全部
  • SET serveroutput ON DECLARE CURSOR cemp IS SELECT TO_CHAR(hiredate,'yyyy') FROM emp; phiredate VARCHAR2(4); count80 NUMBER :=0; count81 NUMBER :=0; count82 NUMBER :=0; count87 NUMBER :=0; BEGIN OPEN cemp; LOOP FETCH cemp INTO phiredate; EXIT WHEN cemp%notfound; IF phiredate ='1980' THEN count80 := count80+1; elsif phiredate='1981' THEN count81 :=count81+1; elsif phiredate='1982' THEN count82 :=count82+1; ELSE count87 :=count87+1; END IF; END LOOP; CLOSE cemp; dbms_output.put_line('Total:' || (count81+count82+count80+count87)); dbms_output.put_line('1980:'||count81); dbms_output.put_line('1982:'||count80); dbms_output.put_line('1981:'||count82); dbms_output.put_line('1987:'||count87); END; /
    查看全部
  • --自定义例外:查询50号部门的员工姓名 SET serveroutput ON DECLARE --定义光标,代表50号部门的员工姓名 CURSOR cemp IS SELECT ename FROM emp WHERE deptno=50; pename emp.ename%type; --自定义例外 no_emp_found EXCEPTION; BEGIN OPEN cemp; FETCH cemp INTO pename; IF cemp%notfound THEN raise no_emp_found; END IF; --oracle自动启动pmon(process monitor) CLOSE cemp; EXCEPTION WHEN no_emp_found THEN dbms_output.put_line('没有找到员工'); WHEN OTHERS THEN dbms_output.put_line('其他例外'); END; /
    查看全部
  • 瀑布模型 1.需求分析 2.设计 2.1概要设计 2.2详细设计 3.编码coding 4.测试Testing 5.上线(部署)
    查看全部
  • 游标属性:%isopen %found %notfound %rowcount 游标数的限制:默认情况下,Oracle数据库只允许在同一个会话(session)中打开300个光标。 设置游标数的限制:alter system set open_cursors=400 scope=both;
    查看全部
  • SET serveroutput ON DECLARE pnum NUMBER; BEGIN pnum :='abc'; EXCEPTION WHEN value_error THEN dbms_output.put_line('算术或者转换错误'); WHEN OTHERS THEN dbms_output.put_line('其他例外'); END; /
    查看全部
  • SET serveroutput ON DECLARE pename emp.ename%type; BEGIN SELECT ename INTO pename FROM emp WHERE deptno=20; EXCEPTION WHEN no_data_found THEN dbms_output.put_line('没有找到该员工'); when too_many_rows then dbms_output.put_line('多条记录'); WHEN OTHERS THEN dbms_output.put_line('其他例外'); END; /
    查看全部
  • /* 1.光标的属性 %found %notfound %isopen:判断光标是否打开 %rowcount:影响的行数 2.光标数的限制 默认情况下,oracle数据库只允许在同一个会话中,打开300个光标 */ SET serveroutput ON DECLARE CURSOR cemp IS SELECT empno,empjob FROM emp; pempno EMP.EMPNO%type; pjob EMP.EMPJOB%type; BEGIN OPEN cemp; LOOP FETCH cemp INTO pempno,pjob; EXIT WHEN cemp%notfound; dbms_output.put_line('rowcount:' || cemp%rowcount); END LOOP ; CLOSE cemp; END; /
    查看全部
  • 带参数的光标: cursor cemp(dno number) is select sal from emp where deptno = dno;
    查看全部
  • --自定义例外:查询50号部门的员工姓名 set serveroutput on declare --定义光标,代表50号部门的员工姓名 cursor cemp is select ename from emp where deptno = 50; pename emp.ename%type; --自定义意外 no_emp_found exception; begin open cemp; fetch cemp into pename; if cemp%notfound then --抛出意外 raise no_emp_found; end if; close cemp; exception when no_emp_found then dbms_output.put_line('XXXX'); when others then dbms_output.put_line('YYYY'); end; /
    查看全部
    0 采集 收起 来源:自定义例外

    2015-08-24

  • 1.系统例外:No_data_found(没有找到数据)、Too_many_rows(select ... into 语句匹配多个行)、Zero_Divide(被零除)、Value_error(算数或转换错误)、Timeout_on_resource(在等待资源时发生超时)
    查看全部
  • 1.光标的属性 %found %nofound %isopen:判断光标是否打开 %rowcount:影响的行数 2.光标数的限制:默认情况下,oracle数据库只允许在同一个会话中,打开300个光标 修改光标数的限制: alter system set open_cursors=400 scope=both; scope的取值:both,memory(只更改当前实例,不更改数据库实例),spfile(只更改数据库实例, 不更改当前实例。数据库需要重启) show parameter cursor = %cursor%
    查看全部

举报

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

微信扫码,参与3人拼团

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

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