PL/SQL学习一

学习的主要内容

一, PL/SQL的组成

二, 条件循环

三, 循环控制

四, 异常处理

五, 记录类型

 

在学习PL/SQL之前我们必须要了解:   标准化的SQL每次只能执行一条语句,以";"作为结束; 数据在进行后台数据的管理的时候,需要进行一定的根据业务逻辑的需求进行较为复杂的管理,这对标准化的SQL很难实现;    这一系列的问题,PL/SQL都可以方便的解决。。。。

 

下面我就先看PL/SQL的组成:

  • PL/SQL是以块为单位,快之间可以嵌套

  • 一个基本的PL/SQL块是由三部分组成,定义部分(declare),可执行部分(begin),异常处理部分(excetpion)。

下面就是一个简单的例子

DECLARE
X VARCHAR2(20) ;
BEGIN
--注释
X:='HELLO PL/SQL' ;
DBMS_OUTPUT.PUT_LINE(X) ;
END;

 在使用SQLPlus的时候要是看不到执行的结果是要先打开SERVEROUT开关

SET SERVEROUT ON SIZE 10000

 

接下来我们分别介绍三个组成部分:

  1. 定义部分(declare):后面要使用的变量,常量,流标,和异常处理的名字都要先定义好了才能使用

  2. 可执行部分(begin):PL/SQL块的主体,包含可执行的语句。该部分定义了块的功能,begin开始,exception或end结束。

  3. 异常处理部分(exception):包含异常的处理功能,该部分是由exception开始end结束。 

 数据类型:number,date,boolean,char,varchar2,long,binary_integer,组合类型table,组合类型recode,LOB类型BLOB,LOB类型CLOB。

 

 

条件控制之if语句

IF 条件 THEN
<语句组1>
ELSE 
<语句组2>
END IF;

 

IF 条件1为真 THEN
<语句组1>
ELSIF   条件2为真 THEN
<语句组2>
ELSE 
<语句组3>
END IF;

 

CASE 条件 
WHEN 条件1为真  THEN <语句组1>
WHEN 条件2为真  THEN <语句组2 > 
ELSE 
<语句组3>
END CASE;
 

下面就是一个例子

declare
    v_sal emp.sal%type;
begin
    select sal into v_sal from emp 
        where empno = 7369;
    if (v_sal < 1200) then
        dbms_output.put_line('low');
    elsif(v_sal < 2000) then
        dbms_output.put_line('middle');
    else
        dbms_output.put_line('high');
    end if;
end;

 

循环控制之LOOP

LOOP<语句组1>
EXIT [WHEN <条件>];
<语句组2>
END LOOP;
 

 

declare
   j binary_integer := 1;
begin
   loop 
      dbms_output.put_line(j);
	  j := j + 1;
      exit when (j>=11);
   end loop;
end;

 循环控制之WHILE

WHILE <条件> LOOP
<语句组>
END LOOP;
 
DECLARE
I NUMBER :=100 ;
SUMM NUMBER := 0 ;
BEGIN
WHILE I>0 LOOP
SUMM:=SUMM+I;
I:=I-1;
END LOOP;
DBMS_OUTPUT.PUT_LINE(SUMM);
END;
循环控制之FOR
FOR <循环变量> IN [REVERSE] <下界..上界>
LOOP
<语句组>
END LOOP;
 
DECLARE
SUMM NUMBER := 0 ;
BEGIN
FOR I IN REVERSE 1..100 LOOP
SUMM:=SUMM+I;
DBMS_OUTPUT.PUT_lINE('I is '||I);
END LOOP;
DBMS_OUTPUT.PUT_lINE(SUMM);
END;
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值