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

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

难度初级
时长 3小时22分
学习人数
综合评分9.57
114人评价 查看评价
9.8 内容实用
9.4 简洁易懂
9.5 逻辑清晰
  • 连接超级管理,查看cursor相关的参数

    open_cursors 一个会话中光标的最多数量,300是不够使用的;

    alter system set open_cursors=400 scope=both;

    scope的取值 

    memory,----只更改当前示例,不更改参数文件

    spfile--只更改参数文件,不更改当前示例,需要重启数据库

    both---包含以上2种更改;


    SQL> conn sys/123456 as sysdba

    已连接。

    SQL> show user

    USER 为 "SYS"

    SQL> show parameter %cursor%


    NAME                                 TYPE        VALUE

    ------------------------------------ ----------- -------------

    cursor_sharing                       string      EXACT

    cursor_space_for_time                boolean     FALSE

    open_cursors                         integer     300

    session_cached_cursors               integer     50

    查看全部
  • -- 给员工涨工资,总裁1000,经理800,其他400

    set serveroutput on

    declare

        --定义光标代表给哪些员工涨工资

        --alter table "SCOTT"."EMP" rename column "JOB" to empjob

        --表中job提示蓝色,触碰到了关键字

        cursor cemp is select empno,empjob from emp;

        pempno emp.empno%type;

        pjob emp.empjob%type;

    begin

        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 = 'MANAGER' 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;

    /

    查看全部
  • --查询并打印员工姓名和薪水

    /**

    1.光标的属性--4个属性,本节仅介绍2个

     %found  %not found

    */

    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 没有取到记录

        exit when cemp%notfound;

        -- 打印

        dbms_output.put_line(pename||'的薪水'||psal);

        end loop;

        -- 关闭光标

        close cemp;

    end;

    /

    查看全部
  • 光标就是一个结果集 result set

    查看全部
  • --使用for循环打印1--10

    set serveroutput on

    declare

     -- 定义循环变量

        pnum number := 1;

    begin

        for pnum in 1..10 loop

            dbms_output.put_line(pnum);

        end loop;

    end;

    /

    查看全部
  • -- 使用loop循环打印1--10*****使用最多,控制光标比较方便

    set serveroutput on

    declare

    pnum number :=1;

    begin

    loop

     -- 退出循环条件:变量大于10

     exit when pnum > 10;

     -- 打印该变量的值

     dbms_output.put_line(pnum);


     pnum := pnum + 1;

    end loop;

    end;

    /

    查看全部
  • --使用while循环打印数字1-10

    set serveroutput on


    declare

    --定义循环变量

     pnum number :=1;

    begin

     while pnum <= 10 loop

     --循环体

     dbms_output.put_line(pnum);

     pnum := pnum + 1;

     end loop;

    end;

    /

    查看全部
  • /*

    判断用户从键盘输入的数字

    1.如何使用if语句

    2.接收一个键盘输入-字符串

    */

    set serveroutput on

    -- 接收一个键盘输入

    -- num: 地址值,含义是:在该地址上保存了输入的值

    accept num prompt '请输入一个数字';


    declare

     -- 定义变量保存用户从键盘输入的数字

        pnum number := &num;

    begin

    -- if进行条件判断--dbms_output.put_line里面不能放双引号

        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;

    /


    查看全部
  • --引用型变量

    set serveroutput on


    declare

    -- 定义引用型变量:查询并打印7839的姓名和薪水

    -- pename varchar2(20);

    -- psal number;

     pename emp.ename%type;

     psal emp.sal%type;

     begin

     --得到7839的姓名和薪水

     select ename,sal into pename,psal from emp where empno=7839;

     

     -- 打印

     dbms_output.put_line(pename||'的薪水是'||psal);

     end;

     /

    查看全部
  • -- 使用记录变量,查询并打印7839的姓名和薪水

    set serveroutput on

    declare

    --定义记录型变量:注意代表一行

     emp_rec emp%rowtype;

     begin

     --得到7839一行的信息

     select * into emp_rec from emp where empno=7839;

     

     --打印姓名和薪水

     dbms_output.put_line(emp_rec.ename||'的薪水是'||emp_rec.sal);

     end;

     /

    查看全部
  • scott  ------ 打开一个sql工作表




    set serveroutput on;

    -- 使用基本变量类型

    declare

    -- 定义基本变量类型

    -- 基本数据类型

    pnumber number(7,2);

    --字符串变量

    pname varchar2(20);

    --日期变量

    pdate date;

    begin

    pnumber := 1;

    dbms_output.put_line(pnumber);


    pname := 'Tom';

    dbms_output.put_line(pname);


    pdate := sysdate;

    dbms_output.put_line(pdate);

    dbms_output.put_line(pdate + 1);

    end;

    /

    查看全部
  • pl/sql的程序结构

    查看全部
  • -- 打印hello world

    declare

    -- 说明部分(变量,光标或者例外)

    begin

    -- 程序体

    dbms_output.put_line('hello world');

    end;

    -- end后面分号别忘记了

    /


    -- 打开输出开关

    set serveroutput on

    /


    -- 查看程序包的结构

    desc dbms_ouput

    查看全部
  • 工具---首选项----数据库----第三方数据库jdbc驱动程序-----mysql-connector-java-5.1.7-bin.jar

    mysql驱动的加包---

    新建连接可以有mysql数据库

    查看全部
    0 采集 收起 来源:SQL Developer安装

    2022-02-04

  • 工具,首选项,代码编辑器,来显示行数,调整字体大小

    查看全部
    0 采集 收起 来源:SQL Developer安装

    2022-02-04

举报

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

微信扫码,参与3人拼团

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

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