zoukankan      html  css  js  c++  java
  • PL/SQL 之 基础

      PL/SQL(Procedural Language extensions to SQL)是Oracle 对标准 SQL 语言的过程化扩展,是专门用于各种环境下对 Oracle 数据库进行访问和开发的语言。

    一、概述

      Oracle数据库对标准的SQL 语言进行了扩展,将 SQL 语言的非过程化与第三代开发语言的过程化相结合,产生了 PL/SQL 语言。在 PL/SQL 语言中,既可以通过SQL 语言实现对数据库的操作,也可以通过过程化语言中的复杂逻辑结构完成复杂的业务逻辑。

      在PL/SQL程序中,引入了变量、控制结构、函数、过程、包、触发器等一系列数据库对象,为进行复杂的数据库应用程序开发提供了可能。

      特点:

      [1] 与SQL语言紧密集成,支持SQL语句;

      [2] 减少网络流量,提高应用程序的运行性能;

      [3] 模块化程序设计功能,提高了系统可靠性;

      [4] 服务器端程序设计,可移植性好。

    二、PL/SQL程序结构

    1、PL/SQL块的组成

      PL/SQL程序的基本单元室语句块。一个完整的语句块由三部分组成:

    DECLARE 
        声明部分,定义变量、数据类型、异常、局部子程序等
    BEGIN
        执行部分,实现块的功能
    EXCEPTION
        异常处理部分,处理程序执行过程中产生的异常
    END   

      注意:

      [1] 执行部分是必须的,声明和异常是可选的;

      [2] 可以在执行或异常处理部分嵌套其他的PL/SQL块;

      [3] 所有的块都是以“ END; ”结束的;

    2、块的分类

      匿名块:动态生成,只能执行一次的块,不能由其他应用程序调用;

      命名块:一次编译可多次执行的PL/SQL程序,包括函数、存储过程、包、触发器等。他们编译后放在服务器中,由应用程序或系统在特定条件下调用执行。

    三、词法单元

      所有PL/SQL程序都由词法单元构成,所谓词法单元就是一个字符序列,字符序列中的字符取自PL/SQL语言所允许的字符集。PL/SQL中的词法单元包括标识符、分隔符、常量值、注释等。

    1、字符集

      字符集包括如下:

      [1] 所有大小写字母:包括A~Z,和 a~z;

      [2] 数字:包括0~9;

      [3] 空白符:包括制表符、空格和回车符;

      [4] 符号:+、-、*、/、<、>、=、~、!、@、#、$、%、^、&、(、)、_、|、{、}、[、]、?、;、:、,、.、"、'。

      注:字符集不区分大小写。

    2、标识符

      标识符用于定义PL/SQL变量、常量、异常、游标名称、游标变量、参数、子程序名称和其他的程序单元名称等。

      标识符是以字母开头的,后边可以跟字母、数字、美元符号($)、井号(#)或下划线(_),其最大长度为30个字符,并且所有字符都是有效的。

      注意:如果标识符区分大小写、使用预留关键字或包含空格等特殊符号时,需用""括起来,称为引证标识符。

    3、分隔符

      分隔符是指有特定含义的单个符号或组合符号。

    4、常量值

      常量是指不能作为标识符的字符型、数字型、日期型和布尔型值。

      [1] 字符型:即以单引号引起来的字符串,在字符串中的字符区分大小写。如果字符串本身包含单引号,则用两个连续的单引号进行转义。如'he''s book'。

      [2] 数字型:分为整数与实数两类。

      [3] 布尔型:指预定义的布尔型变量的取值,包括 TRUE、FALSE、NULL三个值。

      [4] 日期型:表示日期值,其格式随日期类型格式不同而不同。

    5、注释

      单行注释:以“--”开始,直到该行结尾;

      多行注释:以“/*”开始,以“*/”结束。

    四、数据类型

  • 相关阅读:
    Configuring Squid as an accelerator/SSL offload for Outlook Web Access
    Cisco ASA 5505 Routing Between Two (Internal) VLANS
    Windows共享设定-使用net use添加网络盘带上账号密码
    CSS介绍
    HTML的介绍
    python之IO model
    python之并发编程(线程进程协程)
    python之socket编程
    python之面向对象编程二
    python之面向对象编程一
  • 原文地址:https://www.cnblogs.com/xinaixia/p/5815690.html
Copyright © 2011-2022 走看看