课程教师:李兴华

课程学习者:阳光罗诺

日期:2018-07-28

知识点:

1、 了解PL/SQL的主要特点

2、 掌握PL/SQL块的基本结构

PL/SQL

  • PL/SQL是Oracle在关系数据库结构化查询语言SQL基础上扩展得到的一种过程化查询语言。
  • SQL与编程语言之间的不同之处在于,SQL没有变量,SQL没有流程控制(分支、循环)。而PL/SQL是结构化的和过程化的结合体,而且最为重要的是,在用户执行多条SQL语句时,每一条SQL语句都是逐一的发送给数据库,而PL/SQL可以一次性将多条SQL语句一起发送给数据库,减少网络流量问题。
  •     SQL执行                                               PL/SQL执行

PL/SQL语法结构

语法:

DECLARE
- 声明部分,例如。定义变量、常量、游标。 BEGIN
- 程序编写、SQL语句 EXECEPTION
- 处理异常 END:
/

说明:

  • 声明部分(DECLARE):包含变量定义、用户定义的PL/SQL类型、游标、引用的函数或者过程。
  • 执行部分(BEGIN):包含变量赋值、对象初始化、条件结构、迭代结构、嵌套的PL/SQL匿名块,或者是对局部或者时存储PL/SQL命名块的调用。
  •  异常部分:(EXECEPTION):包含错误处理语句,该语句可以像执行部分一样所有使用项。
  • 结束部分(END):程序执行到END表示结束,分号用于结束匿名块,而正斜杠(/)执行块程序。

PL/SQL——范例

编写不做任何工作的Pl/SQL块

   BEGIN

            NULL;

  END;

  /

此程序现在不做任何工作,只是出现了结构而已。

范例:输出Hello World。

 BEGIN

          DBMS_OUTPUT.put_line('Hello World!');

 END;

 /

默认情况下,系统输出的显示屏幕时关闭的,所以需要修改显示的设置。

 SET SERVEROUTPUT ON;

打开之后再次执行就会显示内容:

范例:编写一个简单的PL/SQL程序。

范例:输入一个雇员编号,而后取得指定的雇员姓名。

 DECLARE

          v_eno NUMBER;                      --接收雇员编号

          v_ename VARCHAR2();                --接收雇员姓名

 BEGIN

          v_eno:=&empno;                     --由键盘输入输入

          SELECT ename INTO v_ename FROM emp WHERE empno=v_eno;

          DBMS_OUTPUT.put_line('雇员编号为:'||v_eno);

          DBMS_OUTPUT.put_line('雇员的姓名为:'||v_ename);

 END;

 /

查询结果如图所示:

小结:

1、 PL/SQL可以同时向数据库执行多条语句

2、 PL/SQL可以进行变量的定义与程序语言的编写。

PL/SQL编程基础——PL/SQL简介的更多相关文章

  1. Oracle数据库编程:PL/SQL编程基础

    2.PL/SQL编程基础: PL/SQL块:        declare        定义部分        begin        执行部分        exception        异 ...

  2. 【PL/SQL编程基础】

    [PL/SQL编程基础]语法: declare 声明部分,例如定义变量.常量.游标 begin 程序编写,SQL语句 exception 处理异常 end: / 正斜杠表示执行程序快范例 -- Cre ...

  3. PL/SQL编程基础(一):PL/SQL语法简介(匿名PL/SQL块)

    PL/SQL PL/SQL是Oracle在关系数据库结构化查询语言SQL基础上扩展得到的一种过程化查询语言. SQL与编程语言之间的不同在于,SQL没有变量,SQL没有流程控制(分支,循环).而PL/ ...

  4. Oracle Pl/SQL编程基础

    Pl/SQL简介 提高应用程序的运行性能, 提供模块化的程序设计, 自定义标示符, 具有过程语言控制结构, 良好的兼容性, 处理运行错误. Pl/SQL语言基础 sql是关系数据库的基本操作语言. s ...

  5. PL/SQL编程基础(三):数据类型划分

    数据类型划分 在Oracle之中所提供的数据类型,一共分为四类: 标量类型(SCALAR,或称基本数据类型) 用于保存单个值,例如:字符串.数字.日期.布尔: 标量类型只是作为单一类型的数据存在,有的 ...

  6. sql编程利器,Sql Prompt下载及安装方法

    Sql Prompt只能提示及其格式化用起来非常方便: 推荐网址:www.4-yecao.com 免费下载地址:http://download.csdn.net/detail/caizz520/455 ...

  7. PL/SQL编程基础(五):异常处理(EXCEPTION)

    异常处理 异常产生所带来的问题: 使用EXCEPTION程序块进行异常处理: 实现用户自定义异常. 使用异常可以保证在程序中出现运行时异常时程序可以正常的执行完毕: 用户可以使用自定义异常进行操作. ...

  8. PL/SQL编程基础

    范例:编写不做任何工作的PL/SQL块 BEGIN NULL ; END ; /   范例:编写一个简单的PL/SQL程序 DECLARE v_num NUMBER ; -- 定义一个变量v_num ...

  9. Oracle PL/SQL 编程基础 实例

    create table mytest(name varchar(20),password varchar(30)); create or replace procedure sp_pro2 is  ...

随机推荐

  1. 【编程技术-Shell】AWK使用大全

    1.  AWK中输出特殊字符 输出单引号 涉及到转义字符,但是在使用普通的方法进行转义时,会遇到下面的问题 正确的方法:'\'',使用单引号将转义字符括起来,然后后面加上单引号 输出其他特殊字符 输出 ...

  2. 【ORACLE】Bulk Processing with BULK COLLECT and FORALL

    https://orablogspot.blogspot.com/2014/09/ https://blogs.oracle.com/oraclemagazine/bulk-processing-wi ...

  3. Java集合类中的Iterator和ListIterator的区别

    注意:内容来自网络他人文章! 最近看到集合类,知道凡是实现了Collection接口的集合类,都有一个Iterator方法,用于返回一个实现了Iterator接口的对象,用于遍历集合:(Iterato ...

  4. 【Kafka源码】日志处理

    目前来说,kafka的日志中记录的内容比较多,具体的存储内容见这篇博客,写的比较好.可以看到,存储的内容还是比较多的,当存储文件比较大的时候,我们应该如何处理这些日志?下面我们通过kafka启动过程的 ...

  5. 微服务Kong(四)——添加插件

    在本节中,您将学习到,如何配置使用KONG的插件来管理您的API.KONG的核心原则之一就是通过插件来实现API的扩展.插件可以使您更为简单的扩展和管理您的API. 在以下的步骤中,您将通过配置key ...

  6. python 获取函数调用者

    import traceback def _mode(): print "hi---------------------------" print traceback.extrac ...

  7. Mac 安装Git

    一.安装 在进行安装前,要说一下,Git和SVN一样,都需要创建一个服务器的,他们都可以创建自己的版本管理服务器.对于个人和小团队来说,使用托管服务器可能更合适. 常见的有Github 和 Bitbu ...

  8. C# 多维数组

    int[, ,] shuzu = new int[4, 3, 2]; //有四个二维数组,每个二维数组里面有3个1维数组,每个1维数组里面有2个元素

  9. Java学习--list,set,Map接口使用

    list接口: 泛型:规定list中的元素的类型 /*     *      * 泛型不能使用基本数据类型(可以使用基本类型的包装类)     *      */    public void tes ...

  10. 用Lua控制Nginx静态文件的url访问权限

    需求背景:比如我们有一个存储文件的web服务器,一般通过url可直接访问到:http://127.0.0.1/uploads/test.rar,如果我们需要限制别人的访问,可以通过添加lua脚本来控制 ...