ORACLE PL/SQL 基础

发表于:2007-07-02来源:作者:点击数: 标签:
pl/ sql 是结构化程序设计语言,块(block)是pl/sql 程序中最基本的结构,所有的pl/sql程序都是由块组成的。 pl/sql 由变量说明,程序代码,和异常处理代码3部分组成。 declare -----标记声明部分 begin ------标记程序体部分开始 exception ------标记异常处

pl/sql 是结构化程序设计语言,块(block)是pl/sql 程序中最基本的结构,所有的pl/sql程序都是由块组成的。
pl/sql 由变量说明,程序代码,和异常处理代码3部分组成。

declare -----标记声明部分
 begin ------标记程序体部分开始
exception ------标记异常处理部分开始
end;       --------标记程序体部分结束

 

pl/sql 示例


1>   

    set serveroutput on;
    declare
   empname varchar2(20);
   begin
        select emp_name into empname from cus_emp_basic where emp_no=@#00000027@#;
        dbms_output.put_line(empname);
    end ;


使用set serveroutput on 命令设置环境变量serveroutput为打开状态,从而使得pl/sql程序能够再SQL*plus和SQL*plus中输出结果

使用函数dbms_output.put_line()可以输出参数的值。

1>条件语句

      set serveroutput on ;
declare
     num integer :=3;
     begin
         if num< 0 then
          dbms_output.put_line(@#负数@#);
         elsif num > 0 then
          dbms_output.put_line(@#正数@#);
         else
          dbms_output.put_line(@#0@#);
         end if;
     end;

 

2>

循环语句loop ......exit....end

     set serveroutput on;
declare
    num integer:=1;
    v_sum integer:=0;
begin
   loop
      v_sum:=v_sum+num;
      dbms_output.put_line(num);
      if num=4 then
      exit;
      end if;
     
      dbms_output.put_line(@#+@#);     
      num:=num+1;
   end loop;
  
      dbms_output.put_line(@#=@#);
      dbms_output.put_line(v_sum);
 end;


3>
循环语句 loop......exit when ...end

 set serveroutput on;
  declare
   v_num integer:=1;
    v_sum integer:=0;
begin
    
     loop
        v_sum:=v_sum+v_num;
        dbms_output.put_line(v_num);
        exit when v_num=4;
       
        dbms_output.put_line(@#+@#);
        v_num:=v_num+1;
     end loop;
    
  dbms_output.put_line(@#=@#);
  dbms_output.put_line(v_sum);
  end;

4>

循环语句 while...loop...end loop


  set serveroutput on ;
declare
   
     v_num integer:=1;
     v_sum integer:=0;

begin
  
    while v_num <=4
    loop
       v_sum:=v_sum+v_num;
       dbms_output.put_line(v_num);
       if v_num <4 then
       dbms_output.put_line(@#+@#);
       end if;
     
       v_num:=v_num+1;
       end loop;
       dbms_output.put_line(@#=@#);
       dbms_output.put_line(v_sum);
 end;

 

5>

循环语句for...in..loop....end loop

 


set serveroutput on;
declare
     v_num integer;
     v_sum integer:=0;
 begin
    
      for v_num in 1..4
      loop
         v_sum:=v_sum+v_num;
         dbms_output.put_line(v_num);
          if v_num< 4 then
             dbms_output.put_line(@#+@#);
          end if;
          end loop;
         
          dbms_output.put_line(@#=@#);
          dbms_output.put_line(v_sum);
          end;

 

原文转自:http://www.ltesting.net