国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 開(kāi)發(fā) > 綜合 > 正文

幾十個(gè)實(shí)用的PL/SQL(1)

2024-07-21 02:08:32
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

這是我在accp學(xué)習(xí)的qa,覺(jué)得對(duì)初學(xué)者很有幫助,貼出。

----

第一階段

q.編寫(xiě)一個(gè)pl/sql程序塊以顯示所給出雇員編號(hào)的雇員的詳細(xì)信息。

a.

 declare

       erec emp%rowtype;

begin

       select * into erec from emp        where empno=&雇員編號(hào);

       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.編寫(xiě)一個(gè)pl/sql程序塊以計(jì)算某個(gè)雇員的年度薪水總額。

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=&雇員編號(hào);

       dbms_output.put_line(eename || '''s years salary is ' || esal);

end;

/

q.按下列加薪比執(zhí)行:

  deptno       raise(%age)

10    5%

20    10%

30    15%

40    20%

加薪的百分比是以他們現(xiàn)有的薪水為根據(jù)的。寫(xiě)一pl/sql以對(duì)指定雇員加薪。

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.編寫(xiě)一pl/sql以向“emp”表添加10個(gè)新雇員編號(hào)。

(提示:如果當(dāng)前最大的雇員編號(hào)為7900,則新雇員編號(hào)將為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.只使用一個(gè)變量來(lái)解決實(shí)驗(yàn)課作業(yè)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 erec.job='analyst' then

              update emp set sal=sal+1500 where empno=erec.empno;

       else

              update emp set sal=sal+2000 where empno=erec.empno;

       end if;

--     update emp set sal=sal+vraise where empno=erec.empno;

--       dbms_output.put_line(vraise);

end;

/

q.接受兩個(gè)數(shù)相除并且顯示結(jié)果。如果第二個(gè)數(shù)為0,則顯示消息“divide by zero”。

a.

declare

       num1 number;

       num2 number;

begin

       num1:=#

       num2:=#

       dbms_output.put_line(num1 || '/' || num2 || ' is ' || num1/num2);

exception

       when zero_divide then

              dbms_output.put_line('didn''t your teacher tell you not to divide by zero?');

end;

/
發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 靖江市| 阳信县| 建阳市| 阿尔山市| 甘泉县| 麦盖提县| 乌鲁木齐县| 姚安县| 清水县| 天长市| 科技| 赤城县| 庆阳市| 长武县| 南宁市| 紫金县| 虹口区| 重庆市| 平阳县| 嘉荫县| 昌黎县| 四川省| 望奎县| 汝南县| 方城县| 岳阳县| 湟源县| 礼泉县| 光泽县| 金华市| 宜春市| 习水县| 五常市| 锦州市| 义乌市| 白河县| 丹凤县| 福海县| 土默特右旗| 临湘市| 加查县|