plsql过程语言一组sql语句组成的语句块+处理逻辑(条件判断+循环)
语法:
declare
变量的声明
begin
程序体(一堆sql+it和循环)
xception
when 异常类型 then
处理
end ;
变量的声明
数值
字符
字符串
日期
引用类型变量;引用数据库的列的类型作为某变量的数据类型 变量名 表名 列名%type
记录类型变量: 当声明一个变量的值是数据库的一行时使用记录类型,引用数据库表的一行作为数据类型
变量名 表名 %rowtype
赋值语句:
变量名 类型 := 初始值
select 字段名 into 变量名
declare
v_a number(2);
v_b char(10) := 'a';
v_c varchar2(10) := 'holle';
v_d date;
begin
dbms_output.put_line(v_a);
dbms_output.put_line(v_b);
dbms_output.put_line(v_c);
dbms_output.put_line(v_d);
end;
if 语句:
语法):
if条件 then
执行语句块;
end if;
declare
v_sal number;
begin
select sal into v_sal from emp where empno=7499;
if v_sal>3000 then
dbms_output.put_line('7499工资大于3000,工资是'|| v_sal);
else
dbms_output.put_line('7499工资大于3000,工资是'|| v_sal);
end if;
end;
循环语句
语句1:
loop
循环体(必须有退出条件) exit when条件 : 如果条件满足退出
end loop;
语法2:
while 条件 loop
循环体(必须有改变条件语句)
end loop;
语法3:
for 循环变量 in 范围 loop
循环体
end loop;
*/
输出1-10的输出
loop循环
declare
v_n number:=1;
begin
loop
dbms_output.put_line(v_n);
v_n:=v_n+1;
exit when v_n>10;
end loop;
end;
while循环
declare
v_n number:=1;
begin
while v_n<11 loop
dbms_output.put_line(v_n);
v_n:=v_n+1;
end loop;
end;
for循环
declare
begin
for i in 1..10 loop
dbms_output.put_line(i);
end loop;
end;