zoukankan      html  css  js  c++  java
  • PL/SQL编程(一)基础篇

    PL/SQL编程

    目标:

    1.掌握pl/sql概念

    2.掌握pl/sql编程技术,包括编写过程、函数、触发器等

    一、pl/sql基础介绍

    1.pl/sql是什么?

    pl/sql(procedural language/sql)是Oracle在标准的sql语言上的扩展。pl/sql不仅允许嵌入sql语言,还可以自定义变量和常量,允许使用条件语句和循环语句,允许使用异常处理各种错误,这样使得它的功能变得更加强大。

    2.pl/sql的优点

    1)提高应用程序的性能

    2)模块化的设计思想[分页过程、订单过程、转账过程等]

    3)减少网络传输量

    4)提高安全性

    pl/sql缺点

    1)移植性不好

    3.案例

    1.创建一个简单的表

    create table mytest(name varchar2(30),password varchar(30));

    2.向表,插入记录

    create or replace procedure sp_pro1 is

    begin

    --执行部分

    insert into mytest(name,password) values('test','123');

    end;

    如果在sqlplus中执行,最后一行加个斜杠/表示过程完毕

     

    如何调用该过程?

    exec过程名(param list);

    call过程名(param list);

    3.pl/sql的简单分类

    4.pl/sql编程规范

    1)注释

    ①单行注释: --

    select * from emp where ename='SCOTT'; --查询员工信息

    ②多行注释

    /* This is comments */

    2)变量的命名规范

    ①定义变量,建议用v_作为前缀:v_sal

    ②定义常量,建议用c_作为前缀:c_rate

    ③定义游标,建议用_cursor作为后缀:emp_cursor

    ④定义异常,建议用e_作为前缀:e_error

    5.pl/sql块(bloc)介绍

    块(block)是pl/sql的基本程序单元,编写pl/sql程序实际上是编写pl/sql块。要完成相对简单的应用功能,可能只需要编写一个简单的块;但是如果想要实现复杂的功能,可能需要一个pl/sql块中嵌套其他的块。

    块的结构示意图

    pl/sql由三个部分组成:定义部分,执行部分,异常处理部分。

    如下所示:

    declare

    /* 定义部分——定义变量、常量、游标、异常、复杂数据类型等 */

    begin

    /* 执行部分——要执行的pl/sql语句和sql语句 */

    exception

    /* 异常处理部分——处理各种运行的错误 */

    end;

    特别说明:

    1.定义部分是从declare开始的,该部分是可选的;

    2.执行部分是从begin开始的,该部分是必须的;

    3.异常处理部分是从exception开始的,该部分是可选的

    6.实例1:只包含执行部分的pl/sql块

    set serveroutput on --打开输出选项

    begin

    dbms_output.putline('hello world.');

    end;

    说明:dbms_output是Oracle所提供的包,该包包含一些过程,put_line就是该包内置的一个过程。

    实例2:包含定义部分和执行部分的pl/sql块

    declare

    v_ename varchar2(5); --定字符串变量

    v_sal number(7,2);

    begin

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

    --&表示要接收从控制台输入的变量,弹出框

    dbms_output.putline('雇员名:'|| v_ename || ',薪水:'||v_sal);

    --字符串连接符号||

    end;

    实例3:包含定义部分和执行部分和例外处理的pl/sql块

    为了避免pl/sql程序的运行错误,提高pl/sql的健壮性,应该对可能的错误进行处理,这个很有必要:

    ①比如在实例2中,如果输入了不存在的雇员号,应当做例外处理

    ②有时出现错误,希望用另外的逻辑处理

    说明:Oracle事先预定义了一些例外,no_data_found就是找不到数据例外。

  • 相关阅读:
    app-framework学习--panel传值
    app-framework学习--动态管理panel
    app-framework学习--iscrolldemo
    app-framework学习--中文api
    app-framework学习--iscroll5+jquery+afui上拉加载下拉刷新
    DeepLearning tutorial(5)CNN卷积神经网络应用于人脸识别(详细流程+代码实现)
    提升深度学习模型的表现,你需要这20个技巧
    Deep Learning(深度学习)学习笔记整理系列之常用模型(四、五、六、七)
    池化
    卷积特征提取
  • 原文地址:https://www.cnblogs.com/fanyong/p/2932673.html
Copyright © 2011-2022 走看看