Oracle 11g:PL/SQL基础(上)

日期: 2009-05-24 作者:Michael McLaughlin翻译:冯昀晖 来源:TechTarget中国 英文

本文节选自Jason Price所著的《Oracle DataBase 11g PL/SQL编程》(该书由McGraw-Hill公司Oracle出版社2008年出版,版权所有)第二章。点击此处下载该章完整内容。   本章对PL/SQL做了基础性介绍,主要讲解和讨论了以下内容: Oracle PL/SQL代码块结构变量,赋值,操作符 控制结构条件结构 循环结构 函数,存储过程,包 事务作用域 数据库触发器   同SQL语言一样,PL/SQL也是大小写敏感的编程语言。对于大小写敏感的编程语言,有许多关于怎样编码的约定俗成的规则。

大部分人选用全大写,全小写,首字母大写,大小写混合这几种。在这方面没有……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

本文节选自Jason Price所著的《Oracle DataBase 11g PL/SQL编程》(该书由McGraw-Hill公司Oracle出版社2008年出版,版权所有)第二章。点击此处下载该章完整内容

  本章对PL/SQL做了基础性介绍,主要讲解和讨论了以下内容:

  • Oracle PL/SQL代码块结构
  • 变量,赋值,操作符
  • 控制结构
  • 条件结构
  • 循环结构
  • 函数,存储过程,包
  • 事务作用域
  • 数据库触发器

  同SQL语言一样,PL/SQL也是大小写敏感的编程语言。对于大小写敏感的编程语言,有许多关于怎样编码的约定俗成的规则。大部分人选用全大写,全小写,首字母大写,大小写混合这几种。在这方面没有限制必须遵从的标准方法,因人而异。

  Oracle PL/SQL代码块结构

  PL/SQL是基于结构化编程,静态数据类型,模块化,异常管理等建模概念设计的语言,它是Ada编程语言的扩展。Ada是由Pascal语言扩展而来,包括赋值和比较运算符,单引号注释等。

  PL/SQL支持两种类型的程序:匿名块程序和命名块程序。这两种类型都有声明段,执行段和异常处理段。匿名块支持批量脚本,而命名块的发布结果就是存储过程块。

  匿名块PL/SQL程序的基本原型如下:


[DECLARE]
    declaration_statements
BEGIN
    execution_statements
[EXCEPTION]
     exception_handling_statements
END;
/

  如该代码块所示,匿名块PL/SQL程序只需要执行段部分。执行部分从“BEGIN”语句开始,根据执行情况在程序的“EXCEPTION”块或者“END”语句处结束。匿名PL/SQL块以分号“;”作为结束标志,斜杠“/”表示执行该程序块。

  声明部分(Declaration)可以定义和声明变量,定义用户自定义的PL/SQL类型,定义游标,定义游标引用,定义本地方法和存储过程;在执行部分(Execution),你可以给变量赋值,对象初始化,条件结构,循环结构,嵌套匿名PL/SQL程序块,或者调用本地代码或命名存储过程;在异常部分(Exception),你可以编写错误处理代码,所有执行部分可以写的语句在异常部分都可以写。最简单的PL/SQL程序块没有任何功能。在执行块内,你必须至少写一条语句,哪怕只是一条Null语句。斜杠“/”执行匿名PL/SQL块。下面这段代码就是一个最基本的匿名程序块。


BEGIN
   NULL;
END;

  要想给控制台输出内容,你必须启用SQL*PLUS的SERVEROUTPUT变量。Hello_world.sql中的代码就实现了向控制台输出一条信息的功能。代码如下:

  -- 代码来源:hello_world.sql。可以从出版社网站下载。


SET SERVEROUTPUT ON SIZE 1000000
BEGIN
 dbms_output.put_line('Hello World.');
END;
/

  SQL*PLUS的环境变量SERVEROUTPUT会打开一段输出缓冲,DBMS_OUTPUT.PUT_LINE()函数的功能是输出一行字符串。所有声明,语句和代码块都是以分号“;”结尾。

  SQL*PLUS支持替代变量(substitution variables)供控制台交互使用,你只需在变量前加上“&”符号即可。替代变量可以是变长的字符串或数值型。有了替代变量,你再也不用尝试在声明段赋可变的值。下面的程序定义了一个变量并进行了赋值,请看下面的代码。

  -- 代码来源:substitution.sql。可以从出版社网站下载。


DECLARE
  my_var VARCHAR2(30);
BEGIN
  my_var := '&input';
  dbms_output.put_line('Hello '|| my_var );
END;
/

相关推荐