将hregright表中不存在hrno的记录,用house表中的hrno填充(house唯一的时候)
declare
cursor house_cur is
select h.regno,h.hrno from house h
where h.hrno is not null group by h.regno,h.hrno having count(h.regno)=1;
begin
for house in house_cur loop
update hregright r set r.hrno=house.hrno
where r.regno=house.regno and r.hrno is null;
end loop;
end;
PL SQL变量
(1).
定义一个变长字符串
v_ename varchar2(10);
(2). 定义一个小数,范围 -9999.99~9999.99
v_sal number(6,2);
(3). 定义一个小数并给一个初始值为5.4 :=是pl/sql的赋值号
v_sal2 number(6,2):=5.4;
(4). 定义一个日期类型的数据
v_hiredate date;
(5). 定义一个布尔变量,不能为空,初始值为false
v_valid boolean not null default false;
declare
c_tax_rate number(3,2):=0.03;
--用户名
v_ename varchar2(5);
v_sal number(7,2);
v_tax_sal number(7,2);
begin
--执行
select ename,sal into v_ename,v_sal from emp where empno=&no;
--计算所得税
v_tax_sal := v_sal*c_tax_rate;
--输出
dbms_output.put_line('姓名是:'||v_ename||'工资:'||v_sal||' 交税:'||v_tax_sal);
end;