PL/SQL 基础编程

      PL/Sql 编程

      PL/Sql结构

             [declare]

                   --声明变量

             begin

                  --执行部分

             [exception]

                  ---异常处理部分

              end

    PL/Sql  基本数据类型

     数值类型

      1、 number(p,s) 例如:number(9,2) 表示精度为9 ,小说点后两位的数。ps:既可以表示整形和浮点型。

                

     字符类型:  2、pl/sql 中的varchar2 最大字节是32767字节。数据库中的varchar2(maxlength) 最大占4000多字节,如果超过4000,那么就要赋值给long型。

     日期类型: date  占7 个字节。

    布尔类型:boolean 包括三种true,false ,null。

   PL/Sql 特殊类型

     %TYPE

    【%TYPE】 关键字声明了一个与指定类名称相同的数据类型,他通常紧跟在列名 的后面。

     declare

          Var_job  scott.emp.job%TYPE;--Var_job 的数据类型和列名job的数据类型是一样的。比如job是的数据类型是varchar2(20) ,那么Var_job也是varchar2(20).

                 

        %record

       【%record】 使用该变量可以存储多个列组成的一行数据。在声明变量前应该定义记录类型,然后才可以声明记录类型变量。记录类型变量是y一种结构化的数据类型。

       它使用type语法定义。

       格式:

             type  record_type is  record

      (

        var_member1 data_type [not null][:=default_value],--切记是逗号;

                      ...

                      var_member2 data_type [not null][:=default_value]

                )

             

        %rowType

       【%rowtype】 类型结合了%type和record类型的优点,可以根据数据的行结构定义一种特殊的数据类型。用来存储从数据表中检索的到一行数据。

        row_var  table_name%rowtype;

       

 PL/Sql 流控制语句

     选择语句

    if  ...then

    格式:

      if <condition_expression> then

      sql_sentence

    end if;

        <condition_expression> 为true时执行 sql_sentence语句。

      

      表示逻辑运算时,and or not (且、或、非) ,表示为null时,if   var is  null then ...

     if  then else


    if  then ...

    else if

    else

    end if;


   case <sector>

   when <expression_1> then plsql_sentence;

   when <expression_2> then plsql_sentence;

   ...

   end case;

    <sector> 表示选择器,通常是一个变量。还记得sql语句中的case 。。。 when 。。。 then 。。。 else 。。。 end 吗?

   

 PL/SQL 游标

   游标提供了一种从表中检索数据并进行操作的灵活手段,游标主要用在服务器上,处理有客户端发给我服务器端的sql语句,或是批处理、存储过程、触发器中的数据请求。游标的作用就相当于指针。

 PL/Sql异常处理

    预定义异常

   自定义异常

原文地址:https://www.cnblogs.com/fandong90/p/5296627.html