Chinaunix首页 | 论坛 | 博客
  • 博客访问: 5142924
  • 博文数量: 1696
  • 博客积分: 10870
  • 博客等级: 上将
  • 技术积分: 18357
  • 用 户 组: 普通用户
  • 注册时间: 2007-03-30 15:16
文章分类
文章存档

2017年(1)

2016年(1)

2015年(1)

2013年(1)

2012年(43)

2011年(17)

2010年(828)

2009年(568)

2008年(185)

2007年(51)

分类: Oracle

2009-09-08 01:29:52

3.1.1 变量初始化时使用SELECT INTO 语法

A)执行脚本ch03_1a.sql 。请问,SQL *Plus 界面会显示什么内容?并请解释显示结果。答案:会看到如下结果:

 

在PL/SQL 语句块的声明部分,v_average_cost 变量声明为VARCHAR2 。在该语句块的可执行部分,使用SELECT INTO 语法,把course 表中课程的平均成本赋予这个变量。使用SQL 函数TO_CHAR 格式化处理这个数值。然后,使用DBMS_OUTPUT 在屏幕上输出处理结果。

B)在相同的PL/SQL 语句块中,在SELECT INTO 语法之前使用DBMS_OUTPUT 。请问,SQL *Plus 界面会显示什么?请在PL/SQL 语句块的每个点解释这个变量的值。答案:会看到如下输出结果:

 

当声明变量v_average_cost 时,其值被设置为NULL 。由于在赋予该变量之前使用DBMS_OUTPUT,则该变量的输出结果是NULL 。

在使用SELECT INTO 之后,变量的值被设置为与问题A 相同的值。但是由于没有使用DBMS_OUTPUT,因此此时的变量值并没有显示。

在简单的PL/SQL 语句块中,数据定义语言(Data De?nition Language,DDL)是无效的。(使用更高级的技术,诸如DBMS_SQL 包中的过程就能够使用DDL 。)但是,通过使用变量,或者在PL/SQL 语句块中使用DML 语句,就可以非常容易实现DML 操作。下面的PL/SQL 语句块范例会更新邮政编码表中已有的数据条目。

 
 
提示对于PL/SQL 语句块中不返回数据,或者返回太多行数据,并且会导致程序错误的SELECT 语句,可以使用异常机制来捕获错误。在本书第8 章、第9 章和第10 章中,你将了解到更多有关异常处理的信息。
阅读(1848) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~