数据库oracle10g设计题急求答案啊!!
发布网友
发布时间:2022-04-13 17:59
我来回答
共2个回答
热心网友
时间:2022-04-13 19:28
这个问题应该用存储过程,而不是函数。
create or replace procere p_sal_update(v_id in number) is
begin
update 表 set sal=sal+1000 where id=v_id and 职务='经理';
if sql%notfound then
update 表 set sal=sal+500 where id=v_id and 职务='销售员';
if sql%notfound then
update 表 set sal=sal+700 where id=v_id;
end if;
end if;
commit;
end;
未经测试。追问老师,能不能留个QQ,有几个不懂的地方想问一下~~~谢谢·
追答几乎不上QQ,有问题留在Hi中。
热心网友
时间:2022-04-13 20:46
SQL>CREATE OR REPLACE FUNCTION get_sal(v_empno in number)
2 RETURN NUMBER
3 AS
4 v_sal emp.sal%TYPE;
5 BEGIN
6 SELECT job into v_job from emp
7 WHERE empno=v_empno;
8 IF v_job="MANAGER" THEN UPDATE emp SET sal=sal+1000 WHERE empno=v_empno;
9 ELSEIF v_job="CLERK" THEN UPDATE emp SET sal=sal+700 WHERE empno=v_empno;
10 ELSE UPDATE emp SET sal=sal+700 WHERE empno=v_empno;
11 END IF;
12 RETURN sal;
13 EXCEPTION
14 WHEN NO_DATA_FOUND THEN
15 raise_application_error(-20000,'该雇员不存在');
16 END;
17 /