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

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

难度初级
时长 3小时22分
学习人数
综合评分9.57
114人评价 查看评价
9.8 内容实用
9.4 简洁易懂
9.5 逻辑清晰
  • exception when no_data_found then dbms_output.put_line('没有找到该员工'); when others then dbms_output.put_line('其他例外'); //通过others捕获所有的例外
    查看全部
  • 例外:1.系统例外:No_data_found(没有找到数据)、Too_many_rows(select ... into 语句匹配多个行)、Zero_Divide(被零除)、Value_error(算数或转换错误)、Timeout_on_resource(在等待资源时发生超时)
    查看全部
  • PL/SQL是面向过程的结构化查询语言: 该语言的定义结构; declare 说明部分(变量定义/光标申明/例化说明) begin 语句序列(CDML语句) exception 例化处理语句 end; 说明部分: 1:定义基础变量 类型:char,varchar2,date,number,boolean,long 2:引用类型变量: 例如: my_name emp.ename%type; 3:记录类型变量: 例如: emp_rec emp%rowtype;
    查看全部
  • 带参数的光标:cursor cemp(don number) is select ename from emp where deptno=dno;
    查看全部
  • 语法
    查看全部
  • --给员工涨工资,总裁1000,经理800,其他400 set serveroutput on declare --定义光标代表给哪些员工涨工资 --alter table "SCOTT"."EMP" rename column "JOB" to empjob cursor cemp is select empno,empjob from emp; pempno emp.empno%type; pjob emp.empjob%type; begin --回退刚才涨的工资(之前没加commit运行了脚本,避免影响) rollback; --打开光标 open cemp; loop fetch cemp into pempno,pjob; exit when cemp%notfound; --判断员工的职位 if pjob='PRESIDENT' then update emp set sal=sal+1000 where empno=pempno; elsif pjob='MANAFER' then update emp set sal=sal+800 where empno=pempno; else update emp set sal=sal+400 where empno=pempno; end if; end loop; --关闭光标 close cemp; --对于oracle,默认的事物隔离级别是read committed --事物的ACID(原子性、一致性、隔离性、持久性) commit; dbms_output.put_line('涨工资完成'); end; /
    查看全部
  • fetch的作用
    查看全部
  • --查询并打印员工的姓名和薪水 --光标的属性 %found %notfound set serveroutput on declare --定义一个光标 cursor cemp is select ename,sal from emp; --为光标定义对应的变量(引用变量) pename emp.ename%type; psal emp.sal%type; begin --打开光标 open cemp; loop --抓取一条记录 fetch cemp into pename,psal; exit when cemp%notfound; dbms_output.putline(pename||'的薪水是'||pssal); end loop; --关闭光标 close cemp; end; /
    查看全部
  • --使用while循环打印数字的1-10 set serveroutput on declare --定义循环变量 pnum number:=1; begin while pnum <=10 loop --循环体 dbms_output.put_line(pnum); --使变量+1 pnum:=pnum + 1; end loop; end; /
    查看全部
  • --prompt提示的意思 /* 判断用户从键盘输入的数字 1.如何使用if语句 2.接收一个键盘输入(字符串) */ set serveroutput on --接收一个键盘输入 --num:地址值,含义是:在该地址上保存了输入的值 accept num prompt '请输入一个数字'; declare --定义变量保存用户从键盘输入的数字 pnum number:= &num; --&地址符号,将num地址上的值赋给pnum begin if pnum=0 then dbms_output.put_line('您输入的数字为0'); elsif pnum=1 then dbms_output.put_line('您输入的数字为1'); elsif pnum=2 then dbms_output.put_line('您输入的数字为2'); else dbms_output.put_line('其他数字'); end if; end; /
    查看全部
  • declare 说明部分(变量说明、光标说明、例外说明) begin 语句序列(DML语句) DDL 数据定义语言 如: create table drop table alter table 等语句 DML 数据操作语言 insert into update delete 等语句 exception 例外处理语句 end; /
    查看全部
  • --使用记录型变量,打印出7839的姓名和薪水 set serveroutput on declare --定义记录型变量并记录代表一行 emp_rec emp%rowtype; begin --得到7839一行信息 select * into emp_rec from emp where empno='7839'; --打印输出7839的姓名和薪水 dbms_output.put_line(emp_rec.ename||'的薪水'||emp_rec.sal); end; /
    查看全部
  • --引用型变量 set serveroutput on declare --定义引用型变量:查询并打印7839的姓名和薪水 pename emp.ename%type; psal emp.sal%type; Begin --查询7839的姓名和薪水(1)赋值可以用:=(2)into select ename,sal into pename,psal from emp where empno='7839'; --打印姓名、薪水 dbms_output.put_line(pename||'的薪水'||psal); end; /
    查看全部
  • set serveroutput on declare --说明部分(变量,光标和例外) begin --程序体 end; --不要忘记分号 / --退出并且执行
    查看全部
  • PL/SQL (Procedure Language/SQL)过程语言的SQL; PL/SQL是Oracle对sql语言的过程化扩展; --指在SQL命令语言中增加了过程处理语句(如分支、循环等),使SQL语言具有过程处理能力 PL/SQL是面向过程的语言。 不同数据库的SQL扩展 oracle:PL/SQL db2: SQL/PL sql server: Transac-SQL(T-SQL)
    查看全部
    0 采集 收起 来源:PL/SQL简介

    2016-02-02

举报

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

微信扫码,参与3人拼团

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

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