oracle数据库的随堂笔记(二)-块

1.单行注释--多行注释/*...*/

2.标志符号的命名规范
  1)当定义变量时,建议用v_作为前缀 v_sal
  2)当定义常量时,建议用c_作为前缀 c_rate
  3)当定义游标时,建议用_cursor作为后缀 emp_cursor
  4)当定义例外时,建议用e_作为前缀 e_error

3.块结构示意图
  pl/sql块由三个部分构成:定义部分、执行部分、例外处理部分
  如下所示:
    declear--可选
    /*定义部分----定义常量、变量、游标、例外、复杂数据类型*/
    begin--必须
    /*执行部分----要执行的pl/sql语句和sql语句*/
    exception--可选
    /*例外处理部分----处理运行的各种错误*/
    end;

4.定义并执行一个过程
    create procedure xf_pro1 is
    begin
    insert into mytest(name,passwd) values(‘xiaofei‘,‘1234‘);
    end;
    --查看错误信息
    show error;

5.如何调用该过程
    exec 过程名;
    exec 过程名(参数1,参数2,...);
    call 过程名(参数1,参数2,...);
    例: execute xf_pro1;
          exec xf_pro1;

6.java程序结果
  public static void main(String[] args){
  int a=1;//定义
    try{
      a++;//执行
    }catch(Exception e){}//异常处理
  }

7.实例:
  实例1.只包括执行部分的pl/sql块
    set serveroutput on--打开输出选项
    set serveroutput off--关闭输出选项  
    最简单的块:
    begin
    dbms_output.put_line(‘hello,world‘);
    end;
    /*
    相关说明:
    dbms_output是oracle所提供的包(类似java的开发包),该包包含一些过程,put_line就是dbms_output包的一个过程
    */
  实例2.包含了定义部分和执行部分的pl/sql块
    declare
    v_ename varchar2(5);
    begin
    select ename into v_ename from emp where empno=&no;
    dbms_output.put_line(‘雇员名:‘||v_name);
    end;
    /
    /*
    相关说明:
    --地址符是从控制台输入
    --into v_name表示将查出信息放入到变量v_name中(即赋值)
    --||表示连接符
    */

    declare
    --定义变量
    v_name varchar2(5);
    begin
    --执行部分
    select ename into v_ename from emp where empno=&aa;
    --在控制台显示用户名
    dbms_output.put_line(‘用户名:‘||v_ename);
    end;
    /

    把用户名和薪水显示出来
    v_ename varchar2(5);
    v_sal number(7,2);
    begin
    select ename,sal into v_ename,v_sal from emp where empno=&empno;
    --注意变量名要一一对应
    dbms_output.put_line(‘雇员名:‘||v_ename||‘工资:‘||v_sal);
    end;
    /

  实例3.包含定义部分、执行部分和例外处理部分
    为了避免pl/sql程序的运行错误,提高pl/sql健壮性,应该对可能的错误进行处理
      1)比如在实例2中,如果输入了不存在的雇员号,应当做例外处理
      2)有时出现异常,希望用例外的逻辑处理
    相关说明:oracle事先预定义了一些例外,no_data_found就是找不到数据的例外

    declare
    v_ename varchar2(5);
    v_sal number(7,2);
    begin
    select ename,sal into v_ename,v_sal from emp wherer empno=&aa;
    dbms_output.put_line(‘用户名是:‘||v_ename||‘工资:‘||v_sal);
    --异常处理
    exception
    when no_data_found then
    dbms_output.put_line(‘朋友,您输入的编号有误‘);
    end;
    /

时间: 2024-11-05 10:22:32

oracle数据库的随堂笔记(二)-块的相关文章

oracle数据库的随堂笔记(一)

1.查看.关闭和启动监听器 1)使用lsnrctl命令并带status参数,可以查看监听器是否是开始工作 $lsnrctl status 2)使用lsnrctl命令并带stop参数,可以关闭数据库监听器,停止对外提供远程数据库服务 $lsnrcrl stop 3)使用lsnrctl命令并带stop参数,可以开启数据库监听器,对外提供远程数据库服务 $lsnrctl start 2.启动和关闭数据库实例 1)以oracle身份登录linux系统后,用户sys以SYSDBA身份连接数据库 $sqlp

Oracle PL/SQL随堂笔记总结

1.pl/sql编程 1.理解oracle的pl/sql的概念    2.掌握pl/sql编程技术(过程.函数.触发器)    pl/sql是标准sql语句的扩展    简介        1.过程.函数.触发器都是由pl/sql编写        2.过程.函数.触发器是在oracle中        3.pl/sql是非常强大的过程语言        4.过程.函数等可以在java程序被调用    学习必要性:        1.提高应用程序的性能        2.模块化的设计思想    

Oracle数据库之SQL基础(二)

一.约束 ? 1.约束概述 约束作用: (1)定义规则 (2)确保完整性:包括数据的精确性.可靠性.以确保数据不会出错,或者尽量减少出错. 约束的类型: (1)非空约束 (2)主键约束 (3)外键约束(右外键约束)(左外键约束) (4)唯一约束 (5)检查约束 ? 2.非空约束 (1)在创建表时设置非空约束 语法:CREATE TABLE table_name(column_name datatype NOT NULL,...);(2)在修改表时添加非空约束 语法:ALTER TABLE tab

oracle数据库从入门到精通之二

重点关注表的创建与操作语法(如何创建与设计表是后话)常用数据类型表本质上是数据的集合操作 数据类型:不管扩展多少种数据类型,常用的就以下几种字符串    varchar2(其它数据库是varchar)来描述,200个字以类的都用此类型.数值    number来描述,小数用number(m,n),其中n为小数位,m-n为整数位.        数据库也考虑了程序人员的习惯:        整数用INT来表示        小数用FLOAT来表示日期    date大文本数据    clob来描述

新课程上线:Oracle数据库11gR2(之五):性能调优

购买Oracle数据库课程套餐,享八五折优惠!! 套餐地址:http://edu.51cto.com/pack/view/id-807.html Oracle 11g R2 数据库的性能优化 数据库的性能问题是数据库领域里讨论最多的话题,因其而其牵扯到数据库原理.IO存储.服务器性能.前台应用等等,故性能问题十分考验优化者内功.本课程将讲述ORACLE数据库在各种应用环境下的调优方案,让你内(优化原理,优化思路)外(优化工具,技巧)兼修,早日成为优化达人. Oracle 数据库系列课程,共包含以

【知了堂学习笔记】Eclipse,Myeclipse连接MySQL数据库和Oracle数据库

一.连接MySQL数据库 1.由于Eclipse,Myeclipse都没有连接MySQL数据的架包,我们需要自行下载MySQL连接架包 mysql-connector(官方链接:http://dev.mysql.com/downloads/connector/j/5.0.html),下载版本最好是最新版. 2.下载好后,复制到你的项目里任何位置,然后右键架包选择 Build path -> add to Build path,然后点击项目的Libraries里的Referenced Librar

如何处理Oracle数据库中的坏块问题

本文主要介绍如何去处理在Oracle数据库中出现坏块的问题,对于坏块产生在不同的对象上,处理的方法会有所不同,本文将大致对这些方法做一些介绍.因为数据库运行时间长了,由于硬件设备的老化,出现坏块的几率会越来越大,因此,做为一个DBA,怎么去解决数据库出现的坏块问题就成了一个重要的议题了. 一:什么是数据库的坏块   首先我们来大概看一下数据库块的格式和结构 数据库的数据块有固定的格式和结构,分三层:cache layer,transaction layer,data layer.在我们对数据块进

Oracle数据库最全笔记--基本概念(持续更新)

前言: 为什么要学习数据库? 1.1数据库的概念 数据库是按照数据结构组织,存储和管理数据的仓库. 数据库,简单来说是本身可视为电子化的文件柜-存储电子文件的处所,用户可以对文件中的数据进行新增.截取.更新.删除等操作. 它将数据以一定方式存储在一起.能够为多个用户共享.尽可能小的冗余度的特点.是与应用程序彼此独立的数据集合. 1.2数据模型是数据库中数据的存储方式,是数据库系统的基础 数据模型经历了: 1.2.1层次模型:层次模型是数据库系统最早使用的一种模型,他的数据结构是一颗"有向树&qu

Oracle 11g学习笔记2 Oracle数据库的体系结构

Oracle数据库的体系结构主要有4种: 物理存储结构 逻辑存储结构 内存结构 进程结构 一.物理存储结构 Oracle数据库在物理上是由存储在磁盘中的系统文件所组成的,这些文件就是Oracle的物理存储结构. 1.1数据文件 数据文件指存储在数据库中数据的文件,通常是*.dbf格式.包括系统数据.数据字典数据.索引数据. 1.2控制文件 通常是*. ctl格式,用于记录数据的物理结构. 1.3 重做日志文件 重做日志文件用于记录数据库中所有修改信息的文件,通常是* .LOG格式. 二.逻辑存储