ORACLE PL/SQL 基础

类别:数据库 点击:0 评论:0 推荐:

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://com.8s8s.com/it/it20252.htm