zoukankan      html  css  js  c++  java
  • 5、oracle入门篇

    1、视图

    视图的概念:视图就是提供一个查询的窗口,所有数据来自于原表。

    视图的作用?
    第一:视图可以屏蔽掉一些敏感字段。
    第二:保证总部和分部数据及时统一。

    注意:创建视图【必须有dba权限】

    ---查询语句创建表
    create table emp as select * from scott.emp;
    --查询视图
    select * from emp;

    2、索引

    索引的概念:索引就是在表的列上构建一个二叉树
    达到大幅度提高查询效率的目的,但是索引会影响增删改的效率。

    单列索引:

    ---创建单列索引
    create index idx_ename on emp(ename);
    ---单列索引触发规则,条件必须是索引列中的原始值。
    ---单行函数,模糊查询,都会影响索引的触发。
    select * from emp where ename='SCOTT'

    复合索引:

    ---创建复合索引
    create index idx_enamejob on emp(ename, job);
    ---复合索引中第一列为优先检索列
    ---如果要触发复合索引,必须包含有优先检索列中的原始值。
    select * from emp where ename='SCOTT' and job='xx';---触发复合索引
    select * from emp where ename='SCOTT' or job='xx';---不触发索引
    select * from emp where ename='SCOTT';---触发单列索引。

    3、plsql编程

    pl/sql编程语言是对sql语言的扩展,使得sql语言具有过程化编程的特性。
    pl/sql编程语言比一般的过程化编程语言,更加灵活高效。
    pl/sql编程语言主要用来编写存储过程和存储函数等。 

    ---声明方法
    ---赋值操作可以使用:=也可以使用into查询语句赋值
    declare
        i number(2) := 10;
        s varchar2(10) := '小明';
        ena emp.ename%type;---引用型变量
        emprow emp%rowtype;---记录型变量
    begin
        dbms_output.put_line(i);
        dbms_output.put_line(s);
        --赋值
        select ename into ena from emp where empno = 7788;
        dbms_output.put_line(ena);
        --赋值
        select * into emprow from emp where empno = 7788;
        dbms_output.put_line(emprow.ename || '的工作为:' || emprow.job);
    end;

    4、pl/sql中的if判断

    ---成绩大于等于90,表示优秀
    ---成绩大于等于70,表示良好
    ---成绩大于等于60,表示及格
    ---成绩小于60,表示较差
    declare
      i number(3) := 90;
    begin
      if i>=90 then
        dbms_output.put_line('优秀');
      elsif i>=70 then
        dbms_output.put_line('良好');
      elsif i>=60 then
        dbms_output.put_line('及格');
      else
        dbms_output.put_line('较差');
      end if;
    end;

    5、pl/sql中的loop循环

    用三种方式输出1到10是个数字

    ---while循环
    declare
      i number(2) := 1;
    begin
      while i<11 loop
         dbms_output.put_line(i);
         i := i+1;
      end loop;  
    end;
    ---exit循环
    declare
      i number(2) := 1;
    begin
      loop
        exit when i>10;
        dbms_output.put_line(i);
        i := i+1;
      end loop;
    end;
    ---for循环
    declare
    
    begin
      for i in 1..10 loop
         dbms_output.put_line(i);  
      end loop;
    end;
  • 相关阅读:
    《Programming WPF》翻译 第8章 1.动画基础
    一些被遗忘的设计模式
    《Programming WPF》翻译 第4章 数据绑定
    《Programming WPF》翻译 第3章 控件
    《Programming WPF》翻译 第5章 样式和控件模板
    《Programming WPF》翻译 第7章 绘图
    《Programming WPF》翻译 第9章 自定义控件
    《Programming WPF》翻译 第7章 绘图 (2)
    《Programming WPF》翻译 第8章 前言
    关于Debug和Release之本质区别
  • 原文地址:https://www.cnblogs.com/M87-A/p/15256870.html
Copyright © 2011-2022 走看看