Plsql基础(数据类型,控制语句)


     首先呢让我们来将最近讲到的Plsql中使用到的数据类型做一下汇总:
               number(数字,数字)             数字类型可以替代语言中的 int  long  float  double     参数可指定有效位数和保留小数位
               boolean                               布尔类型可以替代语言中的bool      true false null 
               varchar2(长度)                    字符串类型替代语言中的string  char                            参数可指定字符串的长度最大32767
              binary_integer                      数字类型                                                       其取值范围和int一样   正负21亿左右 
                     同样这个类型有几种子类型  一些是存正整数positive 一些存非负整数natural
              data                                      日期类型
              表名.字段%type                    可以取出指定表中指定字段的数据类型
              表名%rowtype                       可以将表中一行的数据做为一个数据类型使用
              定义方式为     变量名     类型
record类型:
              type    变量名    is   record(
                    变量1      类型1,
                    变量2      类型2......
              );     
        非常类似C中的结构体   只是定义方法不太一样
 table 类型:
            type    变量名   is   table  of   varchar2(长度);
            type    变量名   is   table  of   任意一种上面基本类型
      仔细一想  这其实名字叫做table类型   实际就是数组类型      而且这种数组类型下标是任意的
          变量名(下标)     即使数组长度是10  或者没填   但这个下标 给200   并不会报错  因为下标是任意的  
  table类型中还有三个函数
            tableType.first();                                          获得最小下标
            tableType.next(给出数组中的一个下标);      获得给出下标的下一个下标
            tableType.last();                                          获得最大下标
类型到此结束
 *小知识:   在plsql中可以嵌套使用 匿名块  如果在两个块中出现相同的变量名  里层如果想使用全局变量的时候可以使用关键字. 的方式调用                      到      outerf
控制语句:
IF
         IF       条件1   THEN

            执行语句....
        ELSIF  条件2  THEN
            执行语句....
        ELSE
            执行语句....
        END IF;

LOOP:

       LOOP

               循环体.... 

    退出条件1:

            IF   退出条件    THEN
                EXIT;
            END IF;

    退出条件2:

         EXIT WHEN   退出条件 ;
            循环体   可以执行一些循环的后绪操作
        END LOOP;

WHILE:

      WHILE  退出条件   LOOP

            循环体.....    
       END LOOP;

FOR:

     注意: 变量不需声明,变量自动维护++  循环次数固定

     FOR  变量   IN  范围起始1..10范围结束    LOOP

            循环体......
       END LOOP;

--------------------------------------------------循环结束-----------------------------------------------------

在plsql中也同样可以像C中使用goto关键字   但跳转的标签定义却和C中不相同  让我们来看一个使用goto实现循环的例子:

    DECLARE
        v_loop binary_integer:=1;
    BEGIN

        v_loop:=1;
        <<go>>
        if v_loop<=10 
        then 
            dbms_output.put_line('go'||v_loop);
            v_loop:=v_loop+1;
            goto go;
        end if;
    END;

你可能感兴趣的:(Plsql基础(数据类型,控制语句))