plsql回顾(1 基本语法,循环)

来源:互联网 发布:sqlserver 取绝对值 编辑:程序博客网 时间:2024/06/11 00:31

很长时间已经不用plsql,担心忘记,今天就回顾一下。


plsql格式:

declare

-----此处声明变量(每一行只能声明一个变量、必须以字母开头、变量名不能有保留字例如from select、变量名最多30个字符

begin

--这里边写要执行的代码

end;

在declare里边可以进行变量的声明和赋值,在begin里只能进行变量的赋值,plsql的赋值必须以(v_ename varchar2(20) :='aaa')这种方式,在声明类型时注意,varchar2(2)必须在括号内加入长度,否则就会报错,因为varchar2没有默认长度,但是number有默认长度,所以不加括号也不会报错。


在企业开发中,我们在声明变量时多会使用动态声明变量类型,这样当数据库的字段类型改变时,我们不需要改变plsql语句,方法  (v_empno emp.empno%type),这样v_empno 就能一直与数据库的empno类型保持一致。

我们不但可以取出一个字段,还可以取出一行的数据。方法(v_emp emp%rowtype)。


在begin里边的循环if格式:

if 条件 then

 --state

elsif 条件 then

--state

else

--state

end if;


循环loop的使用:(打印从1到100的和,两种方式)

 -- Created on 2013/7/4 by ADMIN 
declare 
  -- Local variables here
  i integer;
  getsum number := 0;
begin
  -- Test statements here
  for i in 1..100 loop
    getsum := getsum+i;
  end loop;
  dbms_output.put_line(getsum);
end; 

declare 
  -- Local variables here
  i integer;
  getsum number := 0;
  num number := 1;
begin
  loop
    getsum := getsum+num;
    exit when num=100;
    num := num+1;
  end loop;
  dbms_output.put_line(getsum);
end;

综上,loop格式,for 循环条件 loop 循环体; end loop;
或者  loop 语句  ;exit when 退出条件;语句; end loop;