用oracle编写程序包,包中含有一个过程和一个函数
过程能够输出所有的student表的学生姓名(name字段)和学号(id字段)值。函数能够根据传入的id参数,检索出该id值对应的学生姓名(name字段值),如果不存在,...
过程能够输出所有的student表的学生姓名(name字段)和学号(id字段)值。
函数能够根据传入的id参数,检索出该id值对应的学生姓名(name字段值),如果不存在,输出“该学生不存在”。 展开
函数能够根据传入的id参数,检索出该id值对应的学生姓名(name字段值),如果不存在,输出“该学生不存在”。 展开
3个回答
2013-06-26
展开全部
create or replace package pk is
procedure p();
function f(i in number);
end pk;
/
create or replace package body pk is
procedure p()
is
cursor c is select id,name from student;
begin
for c_temp in c loop
dbms_out.putline(c_temp.id||c_temp.name);
end loop;
end p;
function f(i in number) return varchar2
is
a varchar2(20);
begin
select max(name) into a from student where id =i;
if a='' then
a='不存在的ID'
end if;
return a;
end f;
end pk;
/
没测试 可以参考下具体要求具体改吧
procedure p();
function f(i in number);
end pk;
/
create or replace package body pk is
procedure p()
is
cursor c is select id,name from student;
begin
for c_temp in c loop
dbms_out.putline(c_temp.id||c_temp.name);
end loop;
end p;
function f(i in number) return varchar2
is
a varchar2(20);
begin
select max(name) into a from student where id =i;
if a='' then
a='不存在的ID'
end if;
return a;
end f;
end pk;
/
没测试 可以参考下具体要求具体改吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
create or replace package pk2 is
procedure jobs(empid scott.emp.job%type,numbs out number);
function depts(deptid scott.emp.deptno%type) return number;
end pk2;
/
create or replace package body pk2 is
procedure jobs(empid scott.emp.job%type,numbs out number) is
begin
select count(*)
into numbs
from emp
where job = empid;
exception
when others then
numbs := 0;
end;
function depts(deptid scott.emp.deptno%type) return number is
numbs number;
begin
select count(*)
into numbs
from emp
where deptno = deptid;
return numbs;
exception
when others then
return 0;
end;
end pk2;
/
procedure jobs(empid scott.emp.job%type,numbs out number);
function depts(deptid scott.emp.deptno%type) return number;
end pk2;
/
create or replace package body pk2 is
procedure jobs(empid scott.emp.job%type,numbs out number) is
begin
select count(*)
into numbs
from emp
where job = empid;
exception
when others then
numbs := 0;
end;
function depts(deptid scott.emp.deptno%type) return number is
numbs number;
begin
select count(*)
into numbs
from emp
where deptno = deptid;
return numbs;
exception
when others then
return 0;
end;
end pk2;
/
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
过程能够输出所有的student表的学生姓名(name字段)和学号(id字段)值。
函数能够根据传入的id参数,检索出该id值对应的学生姓名(name字段值),如果不存在,输出“该学生不存在”
函数能够根据传入的id参数,检索出该id值对应的学生姓名(name字段值),如果不存在,输出“该学生不存在”
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询