Oracle基础学习之PL/SQL编程

   由于去西塘刷了几天,断开了,惭愧啊,今天继续。

   在写之前,还有一点要说,就是一定要上机实践,这样才能真正懂其中的意思。

   今天看到了PL/SQL编程这里,那就简单说说吧。

 ⒈PL/SQL程序是以块(block)为基本单位的,分为三个部分:

①声明部分(declare);②执行部分(begin);③异常处理部分(exception).

   [declare]

   --声明,可选

   begin

   --执行,必选

   [exception]

   --异常处理,可选

   end

说明:⑴声明部分用到的变量,常量和游标等,只能在当前块使用;

     ⑵执行部分结束方式通常有两种:若出现异常,执行异常处理后结束,否则以关键字end束;          ⑶每一条语句必须以分号结束。


 ⒉数据类型、常量和变量

   ⑴数值类型:number:pls_integer,binary_integer...

   ⑵字符:varchar(变长),char(max=32767Byte),long(max=2GB),nvarchar2...

   ⑶日期:date(7个字节)

   ⑷布尔:boolean

   ⑸特殊数据类型:

       ①%type---声明一个与指定列名相同的数据类型,紧跟指定列名之后;

       ②record---可存储由多个列值组成的一行数据

           type record_type is record

           (

               var_member1 data_type [not null][:=default_value],

               ...);

       ③%rowtype---%type和record的结合

           rowVar_name table_name%rowtype

 ⒊流程控制语句

   ⑴选择语句

       ①if...then

       ②if...then...else

       ③if...then...elsif

       ④case <selector>

         when <expression1> then plsql_sent1;

         when <expression2> then plsql_sent2;

         ...

         end case;

   ⑵循环语句

       ①loop

           plsql_sentence;

         exit when end_condition;

         end;

       ②while condition loop

           plsql_sentence;

         end loop;

       ③for variable_counter_name in [reverse] lower_limit...upper_limit loop

           plsql_sentence;

         end loop;

 ⒋PL/SQL游标

   ⑴显示游标

       ①声明:cursor cur_name[(input_para1[,input_para2]...)]

               [return ret_type]

               is select_sentence;

       ②打开:open cur_name[(para_value1[,para_value2]...)];

       ③读取:fetch cur_name into{variable};

       ④关闭:close cur_name;

   ⑵游标属性

       %found:boolean,如果SQL语句至少影响到一行数据,返回true;

       %rowcount:数字型,受SQL影响的行数;

       %isopen:游标打开返回true

   ⑶隐式游标

   处理数据操纵语句的执行结果。

   ⑷通过for循环游标

       ①遍历隐式游标中数据时,通常在关键字in后提供有select检索的结果集,在检索过程中,oracle会自动提供一个隐式的游标sql;

       ②遍历显示游标中数据时,在in后提供游标名称,在使用游标的for循环中,可以声明游标,但不用进行打开、读取和关闭游标操作,这些由oracle系统内部完成。编程


 。。。。。。

你可能感兴趣的:(pl/sql程序;游标)