android studio hiera,PL/SQL初学者必读:几十个实用的PL/SQL

第一阶段

Q.编写一个PL/SQL程序块以显示所给出雇员编号的雇员的详细信息。

A.

DECLARE

erec emp%ROWTYPE;

BEGIN

SELECT * INTO erec from emp  WHERE empno=&雇员编号;

DBMS_OUTPUT.PUT_LINE('EmpNo' || ' ' || 'Ename' || ' '|| 'Job' || ' ' || 'Manager' || ' ' || 'HireDate' || ' ' || 'Salary' || ' ' || 'Commision' || ' ' || 'DeptNo');

DBMS_OUTPUT.PUT_LINE(erec.ename || ' ' || erec.job || '  ' || erec.mgr || '  ' ||erec.hiredate || '  ' || erec.sal || '  ' || erec.comm || '  ' || erec.deptno);

END;

/

Q.编写一个PL/SQL程序块以计算某个雇员的年度薪水总额。

A.

DECLARE

esal NUMBER;

eename emp.ename%TYPE;

BEGIN

SELECT (NVL(sal,0)+NVL(comm,0))*12,ename INTO esal,eename from emp WHERE empno=&雇员编号;

DBMS_OUTPUT.PUT_LINE(eename || '''s Years Salary is ' || esal);

END;

/

Q.按下列加薪比执行:

Deptno Raise(%age)

10 5%

20 10%

30 15%

40 20%

加薪的百分比是以他们现有的薪水为根据的。写一PL/SQL以对指定雇员加薪。

A.

DECLARE

vcounter NUMBER:=10;

vraise NUMBER;

BEGIN

LOOP

EXIT WHEN vcounter>40;

UPDATE emp set sal=NVL(sal,0)+NVL(sal,0)*0.05  WHERE deptno=vcounter;

vcounter:=vcounter+10;

END LOOP;

END;

/

Q.编写一PL/SQL以向"emp"表添加10个新雇员编号。

(提示:如果当前最大的雇员编号为7900,则新雇员编号将为7901到7910)

A.

DECLARE

vcounter NUMBER;

BEGIN

SELECT MAX(empno) INTO vcounter from emp;

FOR i IN 1..10

LOOP

vcounter:=vcounter+1;

INSERT INTO emp(empno) VALUES(vcounter);

END LOOP;

END;

/

Q.只使用一个变量来解决实验课作业4。

A

DECLARE

erec emp%ROWTYPE;

-- vraise NUMBER;

BEGIN

SELECT * INTO erec

from emp

WHERE ename='&ename';

IF erec.job='CLERK' THEN

UPDATE emp SET sal=sal+500 WHERE empno=erec.empno;

ELSIF erec.job='SALESMAN' THEN

UPDATE emp SET sal=sal+1000 WHERE empno=erec.empno;

ELSIF e

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值