Oracle数据库对象

本文介绍了如何在Oracle数据库中创建和测试存储过程、函数以及触发器。首先,创建了一个名为`sumworkday`的存储过程,用于计算教师参与项目的工作总天数;接着,编写了一个函数`sumfund`来获取教师负责的经费总数;然后,建立了一个行级触发器`teachersalary`,在更新或插入Teacher表中工资超过8000时将其限制为8000。最后,对这些对象进行了测试并总结了实验中遇到的问题和解决方法,强调了在创建触发器时初始化变量的重要性以及布尔表达式的使用规则。
摘要由CSDN通过智能技术生成

1.编写带有一个输入参数和一个输出参数的存储过程,输入参数为教师的编号类型,输出参数与tm表的workdays类型一致,存储过程的功能是,根据输入参数教工号的值,计算出该教师为其参与的所有项目的工作总天数;

 

createor replace procedure sumworkday(v_tno in varchar2)

as

    sum_workday number;

begin

    select sum(workdays) into sum_workday

    from tm

    where tno=v_tno;

    if sum_workday=null then

    DBMS_OUTPUT.PUT_LINE('没有找到该老师');

    return;

    end if;

    DBMS_OUTPUT.PUT_LINE(sum_workday);

endsumworkday;

 

 

2.编写代码测试存储过程

 

setserveroutput on;

execsumworkday('t001'); 

execsumworkday('t002'); 

execsumworkday('t123'); 

 

 

3.编写一个函数,计算某个教师负责的经费总数;

 

createor replace function  sumfund (v_tnovarchar2)

    return number

as

    su

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值