1、创建一个表stu,该表只有一个字段sno 类型是number(2),编写一个块,向stu表中添加数字1到10,但不包括4和7。
create table stu (
sno number(2));
declare
i int:=1;
begin
while i<11
loop
if i!=4 and i!=7 then
insert into stu(sno) values(i);
end if;
i:=i+1;
end loop;
end;
2、为Scott用户下的emp表增加一个列stars,类型为VARCHAR2(100)。创建一个PL/SQL块,通过输入任意员工编号(&e_no),根据员工的工资计算他能获得的星号’*’数量,每100元奖励一个星号,按四舍五入处理(使用函数round)。并根据员工所获得的星号数量n,形成由n个星号组成的字符串,写入emp表的stars列。
alter table emp add starts VARCHAR2(100);
declare
e_no emp.empno%type;
e_star emp.starts%type:='***************************************************************************************';
e_mon emp.sal%type;
begin
e_no:=&e_no;
select round(sal/100) into e_mon from emp where empno=e_no;
if e_mon>0 then
update emp set starts=substr(e_star,1,e_mon) where empno=e_no;
end if;
end;