改下
1.假设有两个表:职员表(工号,姓名,工资)和津贴表(工号,津贴),要求用游标完成操作:取出职员表中工资大于1000的记录,将其工资的30%作为津贴插入津贴表中
create or replace procedure p_Upd as
declare
v_empno 职员表.工号%ROWTYPE;
v_salary 职员表.工资%ROWTYPE;
c_emp cursor is select 工号,工资 where 工资>1000;
begin
open c_emp;
loop
fetch c_emp into v_empno,v_salary;
exit when c_emp%NOTFOUND;
insert table 津贴表(工号,津贴)
values (v_empno,v_salary*0.30);
end loop;
close c_emp;
end p_Upd;
2.写一个存储过程,用于创建一个名为test的表,该表只有一个名字为coll的列,数据类型为整型,创建一个循环结构,插入数据到表中,直到有100条记录,用变量记录已存的记录数,当变量的值达到100时,使用break语句退出循环
create or replace procedure p_test as
declare
v_i number;
begin
create table test(col1 number);
v_i:=1
loop
insert table test (col1)
values (v_i);
v_i:=v_i+1
if v_i>100 then break;
end loop;
end p_test;
1.假设有两个表:职员表(工号,姓名,工资)和津贴表(工号,津贴),要求用游标完成操作:取出职员表中工资大于1000的记录,将其工资的30%作为津贴插入津贴表中
create or replace procedure p_Upd as
declare
v_empno 职员表.工号%ROWTYPE;
v_salary 职员表.工资%ROWTYPE;
c_emp cursor is select 工号,工资 where 工资>1000;
begin
open c_emp;
loop
fetch c_emp into v_empno,v_salary;
exit when c_emp%NOTFOUND;
insert table 津贴表(工号,津贴)
values (v_empno,v_salary*0.30);
end loop;
end p_Upd;
2.写一个存储过程,用于创建一个名为test的表,该表只有一个名字为coll的列,数据类型为整型,创建一个循环结构,插入数据到表中,直到有100条记录,用变量记录已存的记录数,当变量的值达到100时,使用break语句退出循环
create or replace procedure p_test as
declare
v_i number;
begin
create table test(col1 number);
v_i:=1
loop
insert table (col1)
values (v_i);
v_i:=v_i+1
if v_i>100 then break;
end loop;
end p_test;