收藏 分销(赏)

杨国福综合练习.doc

上传人:精*** 文档编号:3561335 上传时间:2024-07-09 格式:DOC 页数:5 大小:21KB 下载积分:6 金币
下载 相关 举报
杨国福综合练习.doc_第1页
第1页 / 共5页
杨国福综合练习.doc_第2页
第2页 / 共5页


点击查看更多>>
资源描述
包、过程、函数、触发器练习 1.简述存储过程和函数的区别。 答:相同点:函数和存储过程的输入参数以及函数的返回参数的定义都不能定义精度;默认的参数模式是输入。 不同点:存储过程作为PL/SQL语句块来执行,用输出参数返回值,可以返回任何值。 函数作为表达式的一部分调用,用返回语句返回值,必须包含至少一条return,必须返回单个值。 2.编写一个函数以检查所指定雇员的薪水是否在有效范围内。不同职位的薪水范围为:    Designation Raise    Clerk 1500-2500    Salesman 2501-3500    Analyst 3501-4500    Others 4501 and above.    如果薪水在此范围内,则显示消息"Salary is OK",否则,更新薪水为该范围内的最小薪水值。 3.编写一个函数,判断给定的日期所在月份的天数 create or replace function fun(n in date) return number is result number; begin select to_number(to_char(last_day(n),'dd')) into result from dual; return result; end fun; declare a number; begin a:=fun(to_date('2010-02-01','yyyy-mm-dd')); dbms_output.put_line('给定日期所在月份的天数是:'||a||'天'); end; declare a number; begin a:=fun(date'2010-02-01'); dbms_output.put_line('给定日期所在月份的天数是:'||a||'天'); end; select fun(to_date('2000-02-01','yyyy-mm-dd')) from dual; select fun(date'2000-02-01') from dual; 4、编写存储过程,显示各个职位(job),工资在2000元以上人数和1000元以下人数。 5、创建一个过程,打印出各个工资级别的人数。备注:显示的格式为三种情况1、工资少于2000的人数为:***;工资在2000——3000的人数为****;工资大于3000的人数为:***** create or replace procedure pro1 is num1 number; num2 number; num3 number; begin select count(*) into num1 from emp where sal<2000; select count(*) into num2 from emp where sal between 2000 and 3000; select count(*) into num3 from emp where sal>3000; dbms_output.put_line('工资少于2000的人数为:'||num1||'个'); dbms_output.put_line('工资在2000—3000的人数为:'||num2||'个'); dbms_output.put_line('工资大于3000的人数为:'||num3||'个'); end pro1; 6、创建一个表salary_change_record(empid,old_salary,new_salary,change_date),old_salary:用来纪录员工原来的工资,new_salary:用来纪录更新后的工资,change_date:记录更新的系统时间。然后创建一个触发器,名称为 change_record,功能:每次更新员工工资之后,将更新纪录保存到表salary_change_record中。 7、编写一个数据包,它有两个函数和两个过程以操作"emp"表。该数据包要执行的任务为:插入一个新雇员;删除一个现有雇员;显示指定雇员的整体薪水;显示指定雇员所在部门名称。 8、编写一个触发器实现如下功能: 对修改职工薪金的操作进行合法性检查: a) 修改后的薪金要大于修改前的薪金 b) 工资增量不能超过原工资的10% c) 目前没有单位的职工不能涨工资 9、控制数据安全性: 例如:限制system用户在正常工作时间(9:00-17:00)改变emp表数据 10、建立视图v_dept_emp,显示员工编号、员工姓名、员工所在部门的编号和部门名称 然后建立instesd of触发器,通过该触发器在视图v_dept_emp上插入数据
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服