PL/SQL知识点总结

PL/SQL基本语法结构

DECLARE

declarations statements--声明一个变量

BEGIN

executable statements--可执行部分

EXCEPTION

exception statements--异常处理部分

END;

PL/SQL的数据类型

名称                  类型说明
Number数字型用于存整数、定点数和浮点数,可以定义精度和取值范围
BINARRY_INTRGER数字型用于存储带符号的整数,大小范围介于(-2的31次方-1)到(2的31次方-1)之间
Integer数字型NUMBER的子类型,用于声明高精度为38位的十进制整数
Real数字型Number的子类型,用于声明高精度为63位的二进制浮点数
Float数字型NUMBER的子类型,用于声明高精度为126位的二进制浮点数
Char字符型用于存储固定长度字符,指定不超过32767个字节长度
Varchar2字符型用于存储可变长度字符,指定不超过32767个字节长度
Date日期型    用于存储日期和时间值
Boolean布尔型用于存储逻辑值,TRUE,FALSE 和 NULL
BFILELOB类型该数据类型用于将大型二进制对象存储在系统文件中,最大存储4GB
BLOBLOB类型该数据类型用于将大型二进制对象存储在系统文件中,最大存储4GB
CLOBLOB类型该数据类型用于将大型二进制对象存储在系统文件中,最大存储4GB
NCLOBLOB类型该数据类型用于将大型二进制对象存储在系统文件中,最大存储4GB

PL/SQL支持两种数据类型

①、%TYPE(指定和表中的那一列的数据类型一样)

DECLARE

   empname emp.ename%type;    --%type和ename是一样的数据类型

BEGIN

.....

end;

②、%ROWTYPE

DECLARE

    emp_rec emp%rowtype;

BEGIN

   select * from into emp_rec  from  emp where empno='7369';

END;

属性类型的优点

  1. 不需要知道被引用的列或表的具体数据类型
  2. 如果更改了被引用对象的数据库定义, 那么PL/SQL在运行变量的数据类型也会随之更新

PL/SQL流程控制语句

  1. 条件控制
  2. 循环控制
  3. 顺序控制

条件控制语句

①.IF-THEN

IF condition then

  sequence_of_statements;

END IF;

② IF-THEN-ELSE

IF condition then

  sequence_of_statement1;

ELSE

  sequence_of_statement2;

END IF;

③ IF-THEN-ELSIF

IF condition1 then

     sequence_of_statement1;

ELSIF condition THEN

     sequence_of_statement2;

ELSE

 sequence_of_statement3;

END IF;

④CASE语句

CASE selector

    WHEN exp1 THEN seq_of_statemente1;

    WHEN exp1 THEN seq_of_statemente2;

    ........

END CASE;

循环控制语句

①LOOP循环

Loop

    seq_of_statements;

END loop;

例子:

declare

    x number :=100;

    y number;

BEGIN

    Loop

        x:=x+10;

        exit when x>1000;     --退出循环语句

    end loop;

y:=x;

DBSM_OUTPUT.PUT_LINE(y);

END;

/ set  serveroutput on;

②:While循环

语法:

WHILE condition

LOOP

    seq_of_statements;

END LOOP;

示例:通过while循环完成for循环的功能

DECLARE 

    count number:=1;

BEGIN 

    While count<=10

Loop

    DBMS_ouotput.put_line(count);

counter:counter+1;

END loop;

end;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值