很长时间已经不用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;
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;
-- 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;