`
kevin.wang
  • 浏览: 252486 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

PL/SQL 概述与流程控制语句

阅读更多
SQL: 结构化查询语言(Structured Query Language,简称SQL)是用来访问关系型数据库一种通用语言,属于第四代语言(4GL),其执行特点是非过程化,即不用指明执行的具体方法和途径,而是简单地调用相应语句来直接取得结果即可。
PL/SQL(Procedural Language/SQL)是一种过程化语言,属于第三代语言,它与C、C++、Java等语言一样关注于处理细节,它允许SQL的数据操纵语言和查询语句包含在块结构(block_structured)和代码过程语言中,使PL/SQL成为一个功能强大的事务处理语言。它允许SQL的数据操纵语言和查询语句包含在块结构(block_structured)和代码过程语言中,使PL/SQL成为一个功能强大的事务处理语言。PL/SQL区段只被编译一次并且以可运行的形式储存,以降低响应时间。

SQL语句、PL/SQL块与SQL*Plus命令的区别
SQL语句是以数据库对象为操作对象的语言,主要包括数据定义语言DDL,数据操纵语言DML,数据控制语言DCL和数据存储语言DSL等。当输入SQL语句后,SQL*Plus将其保存在内部缓冲区中,当SQL命令输入完毕后,可以通过在命令行的末尾输入分号“;”并按回车结束,或者在单独一行上用斜杠“/”或空行表示结束。
PL/SQL块同样是以数据库对象为操作对象,但由于SQL本身不具备过程控制功能,所以为了能够与其他语言一样具备过程控制的处理功能,在SQL中加入诸如循环和选择等面向过程的处理功能,由此形成了PL/SQL。所有PL/SQL语句的解释均由PL/SQL引擎来完成,使用PL/SQL块可编写过程,触发器和包等数据库永久对象。
SQL*Plus命令主要用来格式化查询结果,设置选择,编辑以及存储SQL命令,设置查询结果的显示格式,并且可以设置环境选项。可以编辑交互语句,可以与数据库进行“对话”。
一 . PL/SQL块
控制语句—循环
1.
while (no<=90 ) loop
   	insert into depart(depno) values(no);
   	no:=no=10;
 end loop;

2.
loop
  	.....
  	exit when eno=100;
 	 .....
end loop;

3.
for num in 1..10 lopp
  	 dbms_output.putline('');
end loop;

控制语句—条件
1.
if  condition then...
end if;

2.
if condition  then  ...
esle  if  condition then...
else ....
end if;

3. goto语句;
DECLARE 
	eno emp.empno%TYPE ; 
	sal emp.sal%TYPE ; 
BEGIN 
	eno := &en ; 
	SELECT sal INTO sal FROM emp WHERE empno=eno ;
 	IF sal>3500 THEN goto po1 ;
 	ELSE IF sal>2000 THEN goto po2 ; 
	ELSE goto po3 ; 
	END IF ;
	 <<po1>> DBMS_OUTPUT.put_line('高工资。。。') ; 
	<<po2>> DBMS_OUTPUT.put_line('中等工资。。') ; 
	<<po3>> DBMS_OUTPUT.put_line('底工资。。。') ;
 END ;

4. case-when
CASE有两种表达式:
a.
select u.id, u.realname, U.SEX,
      ( case u.sex 
       when 1 then '男'
       when 2 then '女'
       else '空的'
       END
      ) 性别
from users u;

b.
CASE
  WHEN condition1 THEN result1
  WHEN condistion2 THEN result2
  WHEN condistionN THEN resultN
  ELSE default_result
END
分享到:
评论

相关推荐

    Oracle数据库实用教程第三章 PL/SQL程序设计.pptx

    本章节主要介绍了 PL/SQL 程序设计的基础知识,包括 PL/SQL 的优点、运行 PL/SQL 程序、PL/SQL 块结构、PL/SQL 基本语法、PL/SQL 处理流程、异常处理、游标、存储过程和函数、触发器等。 PL/SQL 的优点包括: * ...

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

    - **基本语法与结构**:包括数据类型、变量声明、流程控制语句(如IF、CASE、LOOP、WHILE)、异常处理等。 #### 二、PL/SQL程序结构 - **块结构**:PL/SQL程序通常被组织成块,每个块由声明部分、执行部分和异常...

    Oracle PL/SQL程序设计(第5版)(下册)第二部分

    第1章 PL/SQL概述 3 第2章 创建并运行PL/SQL代码 21 第3章 语言基础 50 第2部分 PL/SQL程序结构 第4章 条件和顺序控制 77 第5章 用循环进行迭代处理 96 第6章 异常处理 118 第3部分 PL/SQL数据 第7章 使用数据 159 ...

    PL/SQL教程 总共6个ppt

    PL/SQL,全称Procedural Language extension to SQL,是Oracle数据库特有的编程语言,它将SQL语句与过程控制语句相结合,提供了更强大的数据处理能力。作为SQL的一种扩展,PL/SQL使得程序员可以编写复杂的业务逻辑,...

    PL/SQL基础编程,实例自写

    #### 一、PL/SQL概述 PL/SQL,全称为Procedural Language for SQL,是Oracle数据库特有的高级程序设计语言。它结合了SQL的数据处理能力和传统编程语言的控制结构,使开发者能够在数据库环境中编写复杂的应用程序。...

    oracle pl/sql fundamentals

    1. **PL/SQL概述**:了解PL/SQL的基本概念,包括它的结构、块(DECLARE、BEGIN、END)以及如何在SQL*Plus或其他开发工具中执行PL/SQL程序。 2. **变量和数据类型**:深入学习PL/SQL中的变量声明,包括内置的数据...

    Oracle PL/SQL编程及最佳实践

    控制结构是 PL/SQL 中的一种机制,用于控制程序的执行流程。控制结构包括条件语句、循环语句和异常处理等。 十七、条件分支语句 条件分支语句是 PL/SQL 中的一种控制结构,用于根据条件执行不同的语句。条件分支...

    pl/sql语句基础

    5. **网络传输优化**:与 SQL 相比,PL/SQL 可以将多个 SQL 语句封装在一个块中发送给服务器处理,从而减少了网络传输次数,降低了网络拥堵问题。 #### 三、PL/SQL 块结构 PL/SQL 是一种基于块的语言,其程序的...

    PL/SQL Developer 64 bit

    根据提供的文件信息,我们将重点解析与“PL/SQL Developer 64 bit”相关的知识点,包括其功能、用途以及在数据库开发中的应用。 ### PL/SQL Developer 64位概述 #### 1. 什么是PL/SQL Developer? PL/SQL ...

    PL/SQL 基本语句

    #### 一、PL/SQL概述 - **定义**:PL/SQL(Procedural Language for SQL)是Oracle公司为SQL语言开发的一种过程化扩展语言,它允许用户在SQL的基础上添加过程化的编程功能,如循环、条件判断等。 - **特点**: - ...

    oracle sql and pl/sql

    根据提供的文件信息,我们可以推断出本书主要关注的是Oracle SQL 和 PL/SQL 的掌握与应用。下面将基于这些信息来生成相关的知识点。 ### Oracle SQL 和 PL/SQL 知识点 #### 一、Oracle SQL 概述 1. **定义**:...

    Oracle PL/SQL programming(5th Edition)

    - **SQL与PL/SQL的交互**:如何有效地在SQL和PL/SQL之间进行数据交换。 4. **新特性介绍** - **Oracle Database 11g的新特性**:包括版本基于的重新定义能力、函数结果缓存、新的CONTINUE语句等。 5. **工具和技术...

    Oracle PL/SQL编程基础

    #### 一、PL/SQL概述 PL/SQL,即Procedural Language for SQL,是Oracle数据库专有的扩展性语言,用于增强SQL的功能,使其具备编程语言的能力。通过PL/SQL,开发者可以编写复杂的业务逻辑,实现数据处理的自动化,...

    PL/SQL存储过程编程

    #### 三、SQL与PL/SQL的区别 - **SQL**: - 第四代语言,智能语言。 - 关注于数据查询和操作,而非具体的实现细节。 - 缺少过程和控制结构。 - 没有算法的概念。 - **PL/SQL**: - 扩展了变量和类型的支持。 - ...

    PL/SQL 完全参考

    ### 一、PL/SQL概述 PL/SQL是一种专门设计用于与Oracle数据库交互的程序语言。它扩展了SQL语言的功能,通过引入变量、常量、数组、过程、函数、异常处理等结构化编程元素,使开发者能够编写出更复杂、逻辑更清晰的...

    Oracle PL/SQL程序设计(第5版)(下册) 第一部分

    第1章 PL/SQL概述 3 第2章 创建并运行PL/SQL代码 21 第3章 语言基础 50 第2部分 PL/SQL程序结构 第4章 条件和顺序控制 77 第5章 用循环进行迭代处理 96 第6章 异常处理 118 第3部分 PL/SQL数据 第7章 使用数据 159 ...

    北大青鸟pl/sql以及函数授教内容

    【PL/SQL与函数概述】 PL/SQL是Oracle数据库中的一种过程化编程语言,它将SQL(Structured Query Language)与过程语言(Procedural Language)相结合,提供了更强大的数据库编程能力。PL/SQL的主要特点包括支持SQL...

    Oracle PL_SQL Language Pocket Reference, 5th Edition.2015.pdf

    - **控制语句**:用于控制程序流程的语句,例如IF-THEN-ELSE、CASE表达式、LOOP、WHILE-LOOP等。 - **游标管理**:介绍如何使用游标来处理记录集,包括显式游标和隐式游标的使用方法。 ##### 3. 异常处理 - **异常*...

    Oracle PL/SQL Training

    课程列表覆盖了PL/SQL的各个方面,第一天的章节包括:PL/SQL概述、创建和运行PL/SQL程序、PL/SQL基础、数据类型、特定特性、记录与集合、游标、控制结构以及动态SQL。这些章节将帮助你理解PL/SQL的基础语法和核心...

Global site tag (gtag.js) - Google Analytics