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

 
   | |

导读:本章对PL/SQL做了基础性介绍,主要讲解和讨论了以下内容:Oracle PL/SQL代码块结构、变量,赋值,操作符、控制结构、条件结构等内容。

关键词:PL/SQL Oracle PL/SQL PL/SQL代码块结构

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

【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;
/

 
查看全文
 
 
 
 
 

Oracle PL/SQL

 
对于一个有相关IT经验的人来说,从头学起PL/SQL该选什么样的书?一本好书对于学习一门新技术究竟有多大的影响?专家Dan Clamage给出了解答。
 
开发人员会发现Toad有两点功能很有价值:自动化设计器和ER图工具。自动化设计器提供了一种RAD方法来创建Oracle数据库批文件的等价物。
 
Quest公司的Toad 10有四款针对Oracle产品的不同套件,它们可以帮助Oracle DBA和开发人员们更好地管理数据库和应用。
 
如何使用PL/SQL列出有特殊符号的行,PL/SQL专家将给出相应的建议,并教您如何使用translate、char和trunk函数。
 
触发器的类型有三种:DML——按照表中的DML语句触发;Instead-of——按照视图而不是DML语句触发;System——当系统事件发生时触发,比如关闭或启动系统。
 

登录TechTarget中国

关闭
本服务仅向TechTarget中国的会员开放,请登录或立即免费注册
电子邮件地址:
请输入您的电子邮件地址
密码:
下次自动登录