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引擎

  • 相关阅读:
    携程机票实时数据处理实践及应用
    关系型数据库表设计
    tornado
    Poisson distribution 泊松分布 指数分布
    Interpret bytes as packed binary data
    python爬虫爬取内容中,-xa0,-u3000的含义
    Okapi BM25 (BM stands for Best Matching)
    一主
    分片 副本
    暂时无法提交申请 帐号类型修改
  • 原文地址:https://www.cnblogs.com/lag1/p/15319017.html
Copyright © 2011-2022 走看看