sql修仙吧 关注:4贴子:81
  • 2回复贴,共1

2017/11/20 Oracle 修仙日志

只看楼主收藏回复

set serveroutput on
--1,创建带参数的存储过程pro1,以部门号为参数,返回该部门的员工人数,执行该过程。
create or replace procedure pro1(dno number)
as
rs number;
begin
select count(*)into rs from emp where deptno=dno;
dbms_output.put_line('员工人数:'||rs);
end;
exec pro1(20)
--练习:创建带参数的存储过程pro2,以部门号为参数,计算该部门的平均工资,输出,执行该存储过程。
create or replace procedure pro2(dno number)
as
avs number;
begin
select avg(sal) into avs from emp where deptno=dno;
dbms_output.put_line('平均工资:'||avs);
end;
exec pro2(20)


IP属地:广东1楼2017-11-20 09:31回复
    select * from emp;
    set serveroutput on
    create or replace procedure pro3(eno number)
    as
    v_zsal number;
    begin
    select sal+nvl(comm,0) into v_zsal from emp where empno= eno;
    dbms_output.put_line('员工'||eno||'工资和佣金的和:'|| v_zsal);
    exception
    when no_data_found then
    dbms_output.put_line('无此员工');
    end;
    exec pro3(7499)
    set serveroutput on
    create or replace procedure pro4(dno number)
    as
    aa VARCHAR2(20);
    bb VARCHAR2(20);
    begin
    select dname,loc into aa,bb from dept where deptno= dno;
    dbms_output.put_line('部门名称'||aa||'部门位置'||bb );
    end;
    exec pro4(20)


    2楼2017-11-20 09:46
    回复
      2026-03-10 02:57:03
      广告
      不感兴趣
      开通SVIP免广告
      更改素数题目
      declare
      sushu number;
      b number:=0;
      begin
      sushu:= &shu;
      for i in 2..9 loop
      for n in 2..sushu loop
      if sushu/i = n then
      b:=b+1;
      end if;
      end loop;
      end loop;
      if b>=1 then dbms_output.put_line('不是');
      else dbms_output.put_line('是');
      end if;
      end;


      IP属地:广东3楼2017-12-04 11:55
      回复