创建过程
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
CREATE OR REPLACE PROCEDURE
find_emp
AS
empNumber number;
BEGIN
select count(*)INTO empNumber from emp
where JOB='SALESMAN';
DBMS_OUTPUT.PUT_LINE('销售员人数是 '|| empNumber);
EXCEPTION
WHEN NO_DATA_FOUND THEN
DBMS_OUTPUT.PUT_LINE ('当前表没有销售员');
END find_emp;
/
2.实现一个过程,完成对employees表中job_id为'IT_PROG'的员工salary的增加,增加额度为800;
结果
create or replace procedure
addSalary
as
rowNumber number;
begin
update employees set SALARY=SALARY+800where JOB_ID='IT_PROG';
end addSalary;
/
3.实现一个过程,查询employees表中员工的平均工资,根据job_id查询某个员工salary是否大于或小于员工平均工资,job_id作为参数传入。
输出格式为:job_id salary avgSalary 大于/小于员工平均工资
create or replace procedure
query_avgSal(emp_id NUMBER)
as
avg_salary number(6,2);
emp_salary number;
begin
select avg(SALARY)into avg_salary from employees;
select SALARY into emp_salary from employees where EMPLOYEE_ID=emp_id;
if emp_salary>avg_salary then
DBMS_OUTPUT.PUT_LINE(emp_id||' '||emp_salary||' '||avg_salary||'大于员工平均工资');
elsif emp_salary DBMS_OUTPUT.PUT_LINE(emp_id||' '||emp_salary||' '||avg_salary||'小于员工平均工资'); 打开显示开关: