--声明一个变量,并给它赋值
declare 

v_bonus number(8);

begin

select id*6 into v_bonus from A where Id=5;

DBMS_OUTPUT.PUT_LINE('奖金'||to_char(v_bonus));

end;

select * from emp

--拷贝一个字段的类型结构

declare

 v_ename emp.ename%type;

 v_sal emp.sal%type;

 c_tax_rate constant number(3,2) :=0.03;

 v_sal_tax v_sal%type;

 begin

    select ename,sal into v_ename,v_sal from emp where empno=&eno;

    v_sal_tax :=v_sal * c_tax_rate;

    dbms_output.put_line('雇员名称:' || v_ename);

    dbms_output.put_line('工资:' || v_sal);

    dbms_output.put_line('所得税' || v_sal_tax);

    end;

    

    select * from emp

declare

  v_emp emp%rowtype; --与emp表中的各个列相同

  begin

     select * into v_emp from emp where empno=&eno;  --将emp表中的所有记录赋值给 v_emp, &表示输入一个新的值

     dbms_output.put_line('雇员名称:'|| v_emp.ename);

     dbms_output.put_line('工资:' || v_emp.sal);

     end;

     

 -- 拷贝一条记录中几个字段的数据结构

declare 

   type emp_record_type is record(

      name emp.ename%type,salary emp.sal%type,job emp.job%type

   );

   v_emp_record emp_record_type;

   begin

     select ename,sal,job into v_emp_record from emp where empno=&eno;

     dbms_output.put_line('雇员名称:' || v_emp_record.name);

     dbms_output.put_line('工资:'|| v_emp_record.salary);

     dbms_output.put_line('职位:' || v_emp_record.job);

  end;

  

  insert into emp select * from emp

  

  --拷贝整个表的表结构,逐行拷贝

  

  declare 

    type emp_table_type is table of emp%rowtype

    index by binary_integer;

    v_emp_table emp_table_type;

    begin

       select ename,sal into v_emp_table(1).ename,v_emp_table(1).sal from emp where empno=7369;

       select ename,sal into v_emp_table(2).ename,v_emp_table(2).sal from emp where empno=7370;

       dbms_output.put_line('雇员名称:'||v_emp_table(1).ename || '工资:' || v_emp_table(1).sal);

       dbms_output.put_line('雇员名称:' || v_emp_table(2).ename || '工资:' || v_emp_table(2).sal);

   end;

   

   --使用when loop 循环

   declare 

     v_i number:=1;

     v_s number:=0;

    begin

        loop

          exit when v_i>100;

           v_s:=v_s+v_i;

           v_i:=v_i+1;

        end loop;

        dbms_output.put_line('100之内的整数和:' || v_s);

    end;

    

    --使用while loop 循环;

  declare

     v_i number:=1;

     v_s number:=0;

     begin

     while v_i<=100 loop

      v_s:=v_s+v_i;

      v_i:=v_i+1;

      end loop;

      dbms_output.put_line('100以内的整数和:  '|| v_s);

  end;

  

  --求100以内的自然数

  declare 

     v_s number:=0;

     begin

        for v_i in 1..100 loop

           v_s:=v_s+v_i;

        end loop;

        dbms_output.put_line('100以内的自然数:'|| v_s);

   end;

   

   --求100-110之间的素数

   declare

       v_m number:=101;

       v_i number;

       v_n number:=0;

   begin

      while v_m<110 loop

        v_i:=2;

        loop

          exit when v_i>v_m-1;

          if mod(v_m,v_i)=0 then

            v_i:=0;

            exit;

           end if;

           v_i:=v_i+1;

          

        end loop;

        if v_i>0 then

          v_n:=v_n+1;

          dbms_output.put_line('第'|| v_n || '个素数是' || v_m);

        end if;

         v_m:=v_m+2;

      end loop;

    end;

Oracle练习的更多相关文章

  1. Oracle分析函数入门

    一.Oracle分析函数入门 分析函数是什么?分析函数是Oracle专门用于解决复杂报表统计需求的功能强大的函数,它可以在数据中进行分组然后计算基于组的某种统计值,并且每一组的每一行都可以返回一个统计 ...

  2. Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part3:db安装和升级

    Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part3:db安装和升级 环境:OEL 5.7 + Oracle 10.2.0.5 RAC 5.安装Database软件 5. ...

  3. Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part1:准备工作

    Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part1:准备工作 环境:OEL 5.7 + Oracle 10.2.0.5 RAC 1.实施前准备工作 1.1 服务器安装操 ...

  4. Oracle 的基本操作符

    != 不等于 select empno,ename,job from scott.emp where job!='manager' ^= 不等于 select empno,ename,job from ...

  5. 使用Zabbix监控Oracle数据库

    Orabbix介绍 监控Oracle数据库我们需要安装第三方提供的Zabbix插件,我们先测试比较有名的Orabbix,http://www.smartmarmot.com/product/orabb ...

  6. 基于Oracle安装Zabbix

    软件版本 Oracle Enterprise Linux 7.1 64bit Oracle Enterprise Edition 12.1.0.2 64bit Zabbix 3.2.1 准备工作 上传 ...

  7. Oracle Database 12c Data Redaction介绍

    什么是Data Redaction Data Redaction是Oracle Database 12c的高级安全选项之中的一个新功能,Oracle中国在介绍这个功能的时候,翻译为“数据编纂”,在EM ...

  8. 使用Oracle官方巡检工具ORAchk巡检数据库

    ORAchk概述 ORAchk是Oracle官方出品的Oracle产品健康检查工具,可以从MOS(My Oracle Support)网站上下载,免费使用.这个工具可以检查Oracle数据库,Gold ...

  9. 利用Oracle RUEI+EM12c进行应用的“端到端”性能诊断

    概述 我们知道,影响一个B/S应用性能的因素,粗略地说,有以下几个大的环节: 1. 客户端环节 2. 网络环节(可能包括WAN和LAN) 3. 应用及中间层环节 4. 数据库层环节 能够对各个环节的问 ...

  10. 使用技术手段限制DBA的危险操作—Oracle Database Vault

    概述 众所周知,在业务高峰期,某些针对Oracle数据库的操作具有很高的风险,比如修改表结构.修改实例参数等等,如果没有充分评估和了解这些操作所带来的影响,这些操作很可能会导致故障,轻则导致应用错误, ...

随机推荐

  1. win 8.1 安装 SQL server 遇到的各种问题

    企业版 SQL Server ed2k://|file|cn_sql_server_2012_enterprise_edition_x86_x64_dvd_813295.iso|5054384128| ...

  2. ios23-文件上传

    1.上传图片 3. // //  ios23_uploadViewController.h //  ios23-upload // //  Created by  on 13-6-17. //  Co ...

  3. 找工作笔试面试那些事儿(16)---linux相关知识点(1)

    linux这部分的知识倒不是笔试面试必考的内容,不过现在很多公司开发环境都在linux系统下,一些简单的知识还是需要了解一下的,笔试面试中万一碰到了,也不会措手不及.作为菜硕的我,又因为读研期间的项目 ...

  4. C#多线程实现方法——Task/Task.Factary

    原文:C#多线程实现方法--Task/Task.Factary Task 使用 Task以及Task.Factory都是在.Net 4引用的.Task跟Thread很类似,通过下面例子可以看到. st ...

  5. ThinkPHP 3 的CURD管理用户信息 修改和删除

    本节课大纲: 一.ThinkPHP 3 的CURD管理用户信息 http://localhost:8080/thinkphp/index.php/User/index 访问User类的index方法 ...

  6. xcode6 cocos2dx开玩笑git和github学习记录

    1. git Xcode4开始,它一直Git作为一个内置的源代码控制(Source Control)工具,所以对于新项目的用途git要管理非常方便.在新建项目向导.可以直接选择Git作为源控制工具.项 ...

  7. jsonp和事件发布监听

    模拟jsonp var id = 0; function JSONP(url,param,cb){ var callbackName = "json_" + id++; var a ...

  8. 《转载》常用算法经典代码(C++版)

    转自:http://blog.renren.com/blog/311453043/736944237 一.快速排序 void qsort(int x,int y) //待排序的数据存放在a[1]..a ...

  9. 李兴华JavaWeb开发笔记

    李兴华JavaWeb开发笔记 1.Java语法-基础 环境变量-JAVA_HOME, PATH, ClassPath 变量名 作用 举例 JAVA_HOME 指向JDK目录 C:\Program Fi ...

  10. ssh-copy-id -i ~/.ssh/id_rsa.pub admin@172.17.42.66

    ssh-copy-id -i ~/.ssh/id_rsa.pub admin@172.17.42.66