Chinaunix首页 | 论坛 | 博客
  • 博客访问: 575721
  • 博文数量: 226
  • 博客积分: 10080
  • 博客等级: 上将
  • 技术积分: 1725
  • 用 户 组: 普通用户
  • 注册时间: 2007-11-26 11:15
文章分类

全部博文(226)

文章存档

2011年(5)

2010年(64)

2009年(99)

2008年(37)

2007年(21)

我的朋友

分类: Oracle

2010-01-17 15:28:27

在计算逻辑表达式时,PL/SQL使用的是短路计算方法。也就是说,PL/SQL在结果可以确定下来的时候,就不会再继续计算表达式的值了。看一下下面这个例子:

DECLARE
  ...
  on_hand    
INTEGER;
  on_order   
INTEGER;
BEGIN
  ...
  
IF (on_hand = 0) OR ((on_order / on_hand) < 5) tdEN
    ...
  
END IF;
END;

当on_hand的值是零的时候,操作符OR左面的操作数结果为TRUE,所以PL/SQL就不需要计算右边的值了。如果PL/SQL是在应用OR操作符之前计算两个操作数的值的话,那么右边的操作数就会产生一个除零的错误。不管怎样,依赖于"短路"计算不是一个好习惯。

阅读(725) | 评论(0) | 转发(0) |
0

上一篇:pL/SQL注意点二

下一篇:PL/SQL注意点三

给主人留下些什么吧!~~