求助拉

ourfeel 2011-04-18 11:06:41
编写两个存储过程(一个调用另外一个)求:1/(1+0)(1-0) + 1/(2+1)(2-1) - 1/(3+2)(3-2) + 1/(4+3)(4-3

用scott登陆,实现如下功能:根据用户输入部门编号删除相应的部门及部门内的所有人,例如:'10,20,30,40'
可以用匿名块、存储过程、函数、触发器等来实现
...全文
48 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
gelyon 2011-04-18
  • 打赏
  • 举报
回复

--作业题??
--1题:
create or replace procedure p1(n number,result out number )
is
rs number:=0;
begin
result:=0;
p2(1,rs);
result:=result+1/rs ;
for i in 2..n loop
p2(i,rs);
result:=result+1/(rs*power((-1),i)) ;
end loop;
end;

create or replace procedure p2(n number,result out number)
is
i number:=0;
begin
result:=0;
i:=n-1;
result:=(n+i)*(n-i) ;
end;


declare
result number:=0;
begin
p1(4,result);
dbms_output.put_line(result);
end;



--2题:
create or replace procedure p_del(id varchar2)
is
begin
for rs in (
select substr(','||id||',',instr(','||id||',',',',1,level)+1,
instr(','||id||',',',',1,level+1)-instr(','||id||',',',',1,level)-1) newid
from dual
connect by
level <= length(','||id||',') - length(replace(','||id||',', ',', ''))-1
)
loop
delete from emp where deptno=rs.newid;
delete from dept where deptno=rs.newid;
end loop;
end;


select * from dept;
select * from emp;
exec p_del('20,30,40');

17,377

社区成员

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

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