Oracle--PLSQL之控制结构


条件分支语句 IF 语句: –IF-THEN-END IF –IF-THEN-ELSE-END IF –IF-THEN-ELSIF-END IF case语句: •循环语句 –loop
语法:
  1. </pre><pre name="code" class="plain">IF condition THEN     
  2. statements;   
  3. [ELSIF condition   
  4. THEN   statements;]   
  5. [ELSE   statements;]   
  6. END IF;     
condition     是一个布尔变量或表达式 (值为TRUE, FALSE或NULL) (仅当表达式为TRUE时执行
                     THEN 之后的语句)。
 
THEN     是一个子句,与前面的布尔表达式相联系。
 
statements   是 若干个PL/SQL 或 SQL 语句 (语句中可能还有嵌套的IF 语句)。
ELSIF     这个关键字将引入一个布尔表达式 (如果第一个条件结果为FALSE或NULL,ELSEIF 关键
                字将引出附加的选择条件) 。
 
ELSE      如果IF条件不成立则执行ELSE关键字后面的语句。  

更多Oracle相关信息见Oracle 专题页面 http://www.bkjia.com/topicnews.aspx?tid=12
 

NULL的处理
  1. DECLARE • x number(2):= 5;    
  2. y number(2):= NULL;   
  3. BEGIN   
  4.     IF x != y THEN   
  5.         dbms_output.put_line(100);    
  6.     ELSE  
  7.         dbms_output.put_line(200);  
  8.     END IF;   
  9. END;  
 任何包含空值的算术表达式结果均为空值。
 
 仅当变量值为NULL时,IS NULL 的返回值是 TRUE 。
 
 可把空变量当作空字符串来连接表达式。
  1. DECLARE  
  2.   x  number(2):=null;  
  3.   y  number(2):=null;  
  4.   begin  
  5.     if x!=y then  
  6.       dbms_output.put_line(100);  
  7.     else  
  8.       dbms_output.put_line(200);  
  9.     end if;  
  10.   end;    
  11.     
  12.     
  13.     
  14. DECLARE  
  15.   x  number(2):=null;  
  16.   y  number(2):=null;  
  17.   begin  
  18.     if x=y then  
  19.       dbms_output.put_line(100);  
  20.     else  
  21.       dbms_output.put_line(200);  
  22.     end if;  
  23.   end;   
都输出200
  1. DECLARE  
  2.   x  number(2):=5;  
  3.   y  number(2):=null;  
  4.   begin  
  5.     if nvl(x,0)!=nvl(y,0) then  
  6.       dbms_output.put_line(100);  
  7.     else  
  8.       dbms_output.put_line(200);  
  9.     end if;  
  10.   end;   

输出100
逻辑表:
  • 1
  • 2
  • 下一页

相关内容