oracle select into变量,3.1.1 变量初始化时使用SELECT INTO 语法

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

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

726c015b744754e9f8efa5beda3642b3.png

在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 语句块的每个点解释这个变量的值。答案:会看到如下输出结果:

510dc4769eacdbcd0b9846df21aa141d.png

当声明变量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 语句块范例会更新邮政编码表中已有的数据条目。

78e6ffdbbe7c85b4553200d78918c40d.png

52af33e751bf9da2c10763b3722dc2d3.png提示对于PL/SQL 语句块中不返回数据,或者返回太多行数据,并且会导致程序错误的SELECT 语句,可以使用异常机制来捕获错误。在本书第8 章、第9 章和第10 章中,你将了解到更多有关异常处理的信息。

【责任编辑:云霞 TEL:(010)68476606】

点赞 0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值