zoukankan      html  css  js  c++  java
  • PL/SQL

    在sqlplus中serveroutput是默认关闭的,使用下面的方法可以打开

    set serveroutput on

    显示随机数

    begin
    dbms_output.put_line(dbms_random.value(1,100));
    end;
    declare
    rnd number;
    begin
    rnd:=floor(dbms_random.value(1,100));
    dbms_output.put_line(rnd);
    end;

    在一行上输出SCOTT的薪水及所在部门名称

    declare
    v_sal  number(7,2);
    v_dname  varchar2(14);
    begin
    select sal,dname into v_sal,v_dname from emp join dept using(deptno) where ename='SCOTT';
    dbms_output.put_line('sal:'||v_sal||' dname:'||v_dname);
    end;

    子程序
    本质就是具名块
    一次编译,多次运行

    将逻辑上相关联的PL/S인L类型、变量常量、子程序、游标和异常等封裝在一起
    可以将个包看作是一个小型的应用程序
    触发器
    在一个事件之前或之后触发
    通常是用于完成数据同步维护、关联事务处理、预方误操作等情况

    输入输出
    ー大多数PL/SQL的输入輸出是通过SQL语句完成的,比如通过SQL存取数据
    其他的PL/SQL输入输出是通过 Oracle自身提供的相关包来实现
    DBMS OUTPUT
    HTF    用在网页编写当中去使用的
    HTP    用在网页编写当中去使用的
    DBMS_PIPE    可以将在一个实例上运行的不同的会话之间的通讯
    UTL_FILE    文件的读写操作
    UTL_HTTP
    UTL_SMTP    发邮件的

    数据抽象
    游标
    复合数据
    集合
    记录
    抽象数据类型
    %TYPE
    DEMO 2.1
    %ROWTYPE
    DEMO3取出最高薪水和最低薪水差距最大的薪水级别的信息

    declare
    v_sal  emp.sal%type;
    v_dname  dept.dname%type;
    begin
    select sal,dname into v_sal,v_dname from emp join dept using(deptno) where ename='SCOTT';
    dbms_output.put_line('sal:'||v_sal||' dname:'||v_dname);
    end;
    declare
    cursor sg is select * from (select * from salgrade order by hisal-losal desc) where rownum<=1;
    v_sg    sg%rowtype;
    begin
    open sg;
    fetch sg into v_sg;
    dbms_output.put_line('grade:'||v_sg.grade||'  losal:'||v_sg.losal||'  hisal:'||v_sg.hisal);
    close sg;
    end;

     控制语句

    declare
    maxgap  number:=0;
    maxsg  salgrade%rowtype;
    begin
    for  v_sg in (select * from salgrade)
      loop
        dbms_output.put_line('grade:1'||v_sg.grade||'  losal:'||v_sg.losal||'  hisal:'||v_sg.hisal);
        if maxgap<v_sg.hisal-v_sg.losal then
          maxsg:=v_sg;
        end if;
      end loop;
    dbms_output.put_line('grade:'||maxsg.grade||'  losal:'||maxsg.losal||'  hisal:'||maxsg.hisal);
    end;

    PL/SQL架构

    PL/SQL引擎

  • 相关阅读:
    Python学习之路—2018/6/27
    Python学习之路—2018/6/26
    python面试315问
    day4(css优先级)
    date3(form表单,今天html结束,css)
    date2(html)
    day1
    mysql数据库(7day)
    mysql数据库(day6)索引,ORM框架
    mysql数据库(day5)-视图,触发器,存储过程
  • 原文地址:https://www.cnblogs.com/lag1/p/15319017.html
Copyright © 2011-2022 走看看