oracle入门10
    PL/SQL编程
  PL/SQL是oracle的专用语言,它对标准的SQL语言的扩展.SQL语句可以嵌套在PL/SQL语言中,并结合处理语句。
PL/SQL程序结构
  使用了程序块的结构组织的代码.最简单的程序块是一种被称为”匿名块”的程序块,匿名块是指不会被oracle存储并且不能够重用程序块。
PL/SQL程序通常包括3部分:Declare部分、exception部分、Begin和end部分.
Begin和end是PL/SQL的必须部分,总是begin开始end结束.
Declare部分包含定义变量、常量和游标等类型的代码.
Begin与end之间可以嵌套begin与end及exception.
//打开服务器的输出
SQL> set serveroutput on;
SQL> begin //开始
  2  dbms_output.put_line('Hello World');
  3  end;
  4  /
变量与常量的声明:
     变量名  类型(字符,日期,数字,布尔)[:=缺省值];
     常量名 constant 类型(字符,日期,数字,布尔) [:=缺省值]; 
变量与常量的区别: 
     变量可以在任何部分进行赋值.
     而常量在declare中声明并且赋值.
注意:都是在declare中声明
正确的操作:
declare
    pagesize constant number(2) :=10;
begin
    dbms_output.put_line(pagesize);
end;
/
作用域:
   是能够引用变量名称这样的标识符的程序块。     
declare
   pagesize number(2):=10;  //在整个中都有效
begin
   dbms_output.put_line(pagesize);
   declare
   pagesize number(2):=99; //只是在内容声明部分到end结束有效
    begin
    dbms_output.put_line(pagesize);
    end;
end;
/
//声明一个整型的变量
SQL> declare
  2   age number(2);
  3  begin
  4  age:=90;
  5  dbms_output.put_line(age);
  6  end;
  7  /
//声明后直接赋值 
SQL> declare
  2   age number(2) :=90;
  3  begin
  4  dbms_output.put_line(age);
  5  end;
  6  /
//捕获异常处理
SQL> declare
  2  age number(2);
  3  begin
  4  age :='qwe'
  5  ;
  6  exception
  7  when others then
  8  dbms_output.put_line('赋值失败');
  9  end;
 10  /
条件判断语句
  有if与case语句   
  If语句
If语法
   If(expression1)then pl/sql_statement
   Else
        Pl/sql_statement;
   End if;   
If(expression1)then pl/sql_statement
   Else if(expression2)
        Pl/sql_statement;
   Else
        Pl/sql_statement;
   End if;   
 Case语句
     从oracle9i以后引入
     Case <selector>
        When <expression1> then pl/sql_statement1;
        When <expression2> then pl/sql_statement2;
        …….
        [else  pl/sql_statement;]
     End;
//案例
SQL> declare score number(2) :=80; 
   begin 
       if score>70 then dbms_output.put_line('成绩合格');
   end if; 
   end;
  /
SQL> declare score number(2) :=80; 
   begin if score>90 then dbms_output.put_line('成绩合格');
 else dbms_output.put_line('成绩不合格'); 
end if; 
end;
/ 
成绩不合格
SQL> declare score number(2):=8; 
begin 
case score 
when 9 then dbms_output.put_line('成绩优秀'); 
when 8 then dbms_output.put_line('成绩亮');
end case;
end;
 /
循环语句
  最基本的循环称为无条件循环,如果没有指定exit语句,循环将无条件执行,这种