求救,,有关存储过程的两题~~~~~晚上就考试了,急.....

best8625 2005-12-28 01:28:49
1.假设有两个表:职员表(工号,姓名,工资)和津贴表(工号,津贴),要求用游标完成操作:取出职员表中工资大于1000的记录,将其工资的30%作为津贴插入津贴表中

2.写一个存储过程,用于创建一个名为test的表,该表只有一个名字为coll的列,数据类型为整型,创建一个循环结构,插入数据到表中,直到有100条记录,用变量记录已存的记录数,当变量的值达到100时,使用break语句退出循环
...全文
113 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
best8625 2005-12-28
  • 打赏
  • 举报
回复
谢谢....
mislrb 2005-12-28
  • 打赏
  • 举报
回复
改下
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;
mislrb 2005-12-28
  • 打赏
  • 举报
回复
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;

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧