`
cobain_731
  • 浏览: 108659 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

Oracle PL/SQL语言基础2

阅读更多
LOB数据类型
 
  LOB(大对象,Large object) 数据类型用于存储类似图像,声音这样的大型数据对象,LOB数据对象可以是二进制数据也可以是字符数据,其最大长度不超过4G。LOB数据类型支持任意访问方式,LONG只支持顺序访问方式。LOB存储在一个单独的位置上,同时一个"LOB定位符"(LOB locator)存储在原始的表中,该定位符是一个指向实际数据的指针。在PL/SQL中操作LOB数据对象使用ORACLE提供的包DBMS_LOB.LOB数据类型可分为以下四类:
 
  . BFILE
  . BLOB
  . CLOB
  . NCLOB
 
  操作符
 
  与其他程序设计语言相同,PL/SQL有一系列操作符。操作符分为下面几类:
 
  . 算术操作符
 
  . 关系操作符
 
  . 比较操作符
 
  . 逻辑操作符
 
  算术操作符如表4所示
 
operator
  operation
  
+  加
  -  减
  /  除
  
*  乘 
** 乘方
  
 
  关系操作符主要用于条件判断语句或用于where子串中,关系操作符检查条件和结果是否为true或false,表5是PL/SQL中的关系操作符
 
operator
  operation
  

  小于操作符
  
<= 
  小于或等于操作符
  

  大于操作符
  
>=
  大于或等于操作符
  

  等于操作符 
  
!= 
  不等于操作符
  
<> 
  不等于操作符
  
:= 
  赋值操作符
  
 
  表6 显示的是比较操作符
 
operator 
  operation
  
IS NULL
  如果操作数为NULL返回TRUE
  
LIKE
  比较字符串值
  
BETWEEN
  验证值是否在范围之内
  
IN
  验证操作数在设定的一系列值中
  
 
  表7.8显示的是逻辑操作符
 
operator
  operation
  
AND 
  两个条件都必须满足
  
OR
  只要满足两个条件中的一个
  
NOT
  取反
  
 
  执行部分
 
  执行部分包含了所有的语句和表达式,执行部分以关键字BEGIN开始,以关键字EXCEPTION结束,如果EXCEPTION不存在,那么将以关键字END结束。分号分隔每一条语句,使用赋值操作符:=或SELECT INTO或FETCH INTO给每个变量赋值,执行部分的错误将在异常处理部分解决,在执行部分中可以使用另一个PL/SQL程序块,这种程序块被称为嵌套块
 
  所有的SQL数据操作语句都可以用于执行部分,PL/SQL块不能再屏幕上显示SELECT语句的输出。SELECT语句必须包括一个INTO子串或者是游标的一部分,执行部分使用的变量和常量必须首先在声明部分声明,执行部分必须至少包括一条可执行语句,NULL是一条合法的可执行语句,事物控制语句COMMIT和ROLLBACK可以在执行部分使用,数据定义语言(Data Definition language)不能在执行部分中使用,DDL语句与EXECUTE IMMEDIATE一起使用或者是DBMS_SQL调用。
 
  执行一个PL/SQL块
 
  SQL*PLUS中匿名的PL/SQL块的执行是在PL/SQL块后输入/来执行,如下面的例子所示:
 
declare 
 v_comm_percent constant number:=10;
begin
 update emp
 set comm=sal*v_comm_percent
 where deptno=10;
 end
SQL> /
PL/SQL procedure successfully completed.
 
SQL>
  
 
  命名的程序与匿名程序的执行不同,执行命名的程序块必须使用execute关键字:
 
create or replace procedure update_commission
 (v_dept in number,v_pervent in number default 10) is 
begin
 update emp
 set comm=sal*v_percent
 where deptno=v_dept;
end
 
SQL>/
 
Procedure created
 
SQL>execute update_commission(10,15);
 
PL/SQL procedure successfully completed.
 
SQL> 
  
 
  如果在另一个命名程序块或匿名程序块中执行这个程序,那么就不需要EXECUTE关进字。
 
declare
 v_dept number;
begin
 select a.deptno
 into v_dept
 from emp a
 where job='PRESIDENT'
 update_commission(v_dept);
end
SQL>/
 PL/SQL procedure successfully completed
SQL>
  
 
 控制结构
 
  控制结构控制PL/SQL程序流程的代码行,PL/SQL支持条件控制和循环控制结构。
 
  语法和用途
 
   IF..THEN
 
  语法:
 
IF condition THEN
 Statements 1;
 Statements 2;
 ....
END IF 
  
 
  IF语句判断条件condition是否为TRUE,如果是,则执行THEN后面的语句,如果condition为false或NULL则跳过THEN到END IF之间的语句,执行END IF后面的语句。
 
  IF..THEN...ELSE
 
  语法:
 
IF condition THEN
 Statements 1;
 Statements 2;
 ....
ELSE
 Statements 1;
 Statements 2;
 ....
END IF 
  
 
  如果条件condition为TRUE,则执行THEN到ELSE之间的语句,否则执行ELSE到END IF之间的语句。
 
  IF 可以嵌套,可以在IF 或IF ..ELSE语句中使用IF或IF..ELSE语句。
 
if (a>b) and (a>c) then
  g:=a;
else
  g:=b;
  if c>g then
   g:=c;
  end if
end if
  
 
  IF..THEN..ELSIF
 
  语法:
 
IF condition1 THEN
 statement1;
ELSIF condition2 THEN
 statement2;
ELSIF condition3 THEN
 statement3;
ELSE
 statement4;
END IF;
 statement5;
  
 
  如果条件condition1为TRUE则执行statement1,然后执行statement5,否则判断condition2是否为TRUE,若为TRUE则执行statement2,然后执行statement5,对于condition3也是相同的,如果condition1,condition2,condition3都不成立,那么将执行statement4,然后执行statement5。
分享到:
评论

相关推荐

    Oracle PL/SQL实战(待续)

    Oracle PL/SQL是一种强大的编程语言,它结合了SQL的数据处理能力与PL的程序设计特性,是Oracle数据库系统中用于创建存储过程、函数、触发器和包的主要工具。在这个"Oracle PL/SQL实战(待续)"的主题中,我们将深入...

    oracle pl/sql从入门到精通 配套源代码

    Oracle PL/SQL是一种强大的编程语言,它结合了SQL(结构化查询语言)的数据库操作功能与PL/SQL的程序设计特性,广泛应用于Oracle数据库的开发和管理。这本书"Oracle PL/SQL从入门到精通"的配套源代码,显然是为了...

    Oracle PL/SQL语言初级教程

    总之,Oracle PL/SQL语言初级教程将引导初学者逐步掌握PL/SQL的基础知识,包括语法、数据类型、函数、表和视图的管理、完整性约束、过程和函数、操作控制以及异常处理。通过学习,开发者可以编写出高效、稳定的...

    ORACLE PL/SQL从入门到精通

    ORACLE PL/SQL是从入门到精通的专业知识,涵盖了数据库开发与管理的多个方面,包括触发器、过程、函数、软件包、异常处理、游标、循环、分支、变量使用、数据库安装等关键知识点。 触发器是数据库中用来保证数据...

    Oracle PL/SQL实例精解 数据库建立代码

    Oracle PL/SQL是一种强大的编程语言,它结合了SQL的数据库操作能力和PL/SQL的结构化编程特性,使得数据库开发者能够创建复杂的应用程序和数据库逻辑。在"Oracle PL/SQL实例精解 数据库建立代码"中,我们将深入探讨...

    Oracle PL/SQL程序设计(第5版)(套装上下册)

    《Oracle PL/SQL程序设计(第5版)(套装上下册)》基于Oracle数据库11g,从PL/SQL编程、PL/SQL程序结构、PL/SQL程序数据、PL/SQL中的SQL、PL/SQL应用构建、高级PL/SQL主题这6个方面详细系统地讨论了PL/SQL以及如何...

    Oracle PL/SQL 实例精解(第4版涵盖Oracle 11g)+源码脚本

    本书详细讲解了Oracle 11g版本中的PL/SQL语言,这涵盖了从基础语法到高级特性的广泛范围。PL/SQL是Oracle数据库中用于创建存储过程、函数、触发器、包等数据库对象的主要工具。第4版特别关注了在Oracle 11g环境下的...

    Oracle PL/SQL语言基础

    Oracle PL/SQL 语言是ORACLE数据库系统对标准SQL的扩展,它被广泛应用于数据库管理和应用程序开发中。作为Oracle服务器和其他工具的一部分,PL/SQL提供了一系列独特的优点和强大的功能。 首先,PL/SQL是一种高性能...

    Oracle PL/SQL程序设计(第5版)(上下册)

    - **PL/SQL简介**:PL/SQL(Procedural Language for SQL)是Oracle数据库的一种内嵌式过程化语言,用于增强SQL的功能。它允许在SQL查询的基础上添加控制流语句、变量定义、错误处理等特性。 - **环境搭建与配置**:...

    Oracle PL/SQL语言基础

    ### Oracle PL/SQL语言基础详解 #### 一、PL/SQL简介 PL/SQL(Procedural Language for SQL)是一种专为Oracle数据库设计的过程化语言,它将Oracle过程语言与SQL语言进行了有效的融合,旨在提高应用程序开发者的...

    oracle10g_pl/sql

    Oracle 10g PL/SQL 是Oracle数据库系统中用于创建和管理存储过程、函数、触发器等数据库对象的编程语言。本教程旨在为初学者提供一个全面的学习平台,同时也为经验丰富的开发者提供参考资料。PL/SQL是Oracle特有的...

    Oracle PL/SQL专家指南-高级PL/SQL解决方案的设计与开发

    PL/SQL是Oracle数据库特有的编程语言,它结合了SQL的查询能力与过程式编程语言的功能,使得数据库管理、数据处理和业务逻辑实现更为高效。本书针对那些希望提升PL/SQL编程技能,设计和开发复杂数据库解决方案的...

    Oracle PL/SQL学习官方教材

    Oracle PL/SQL是一种强大的编程语言,它将SQL与过程编程语言的特性相结合,为数据库开发提供了丰富的功能。在Oracle数据库环境中,PL/SQL是开发高效、可靠和可维护的数据库应用程序的关键工具。以下是对"Oracle PL/...

    oracle PL/SQL 语言基础

    Oracle PL/SQL是一种强大的编程语言,它扩展了SQL的功能,为数据库管理员和开发人员提供了创建复杂业务逻辑的能力。本文将深入探讨Oracle PL/SQL的基础知识,包括其语法、存储过程以及它们在数据库管理中的应用。 ...

    oracle PL/ SQL语言基础

    Oracle PL/SQL(Procedural Language/Structured Query Language)是Oracle数据库系统中的一种编程语言,它结合了SQL的查询功能和传统的过程式编程语言的特点,为数据库管理与开发提供了强大的工具。这篇文档将深入...

    oracle 9i pl/sql程序设计笔记

    **标题与描述**:本文档围绕“Oracle 9i PL/SQL程序设计笔记”这一核心主题,深入探讨了PL/SQL语言的基础知识及其在Oracle 9i数据库环境中的应用。 **关键词**:Oracle 9i、PL/SQL #### PL/SQL程序结构详解 **2.1...

    Oracle PL/SQL programming(5th Edition)

    ### Oracle PL/SQL Programming知识点概览 #### 一、书籍基本信息 ...通过阅读本书,读者可以快速掌握PL/SQL的基础知识,并学习如何利用Oracle Database 11g Release 2的强大功能来构建高效的应用程序。

    oracle PL/SQL pdf学习资料

    oracle PL/SQL pdf学习资料oracle PL/SQL pdf学习资料oracle PL/SQL pdf学习资料oracle PL/SQL pdf学习资料oracle PL/SQL pdf学习资料

Global site tag (gtag.js) - Google Analytics