Oracle強化 第二章 編寫控制結構

2021-06-23 03:30:06 字數 3219 閱讀 3561

1.寫乙個pl/sql塊:向dept表中迴圈插入5條記錄,每一條記錄的deptno 值比表中最大的deptno 值增加1,dname分別為"education1" "education2"..."education5", loc 值都為空.

2.1到30之間,能被3整除的數列印出來

3.輸入4位整數,判斷是否是閏年

4.定義員工號碼,從emp表中獲得工資,

如果工資小於1000,'poor',

大於等於1000小於2000,'medium',

大於等於2000小於3000  ,'good',

大於等於3000小於4000  ,'very good',

否則,'excellent'

5.對所有員工,如果該員工的職位是manager,並且在dallas工作那麼就給他工資加15%;如果該員工職位是clerk,並且該員工在new york工作那麼工資扣除10%,其他情況不作處理。

6.對直接上級是『blake』的所有員工,按照參加工作的時間加薪:

82年之前的加薪20%,82年之後的加薪10%

1.declare

begin

for i in 1..5 loop

insert into dept values((select max(deptno) from dept)+1,'education'||i,null);

end loop;

end;

2.declare

begin

for i in 1..30 loop

if i/3=round(i/3) then

dbms_output.put_line(i);

end if;

end loop;

end;

3.declare

years number(6);

begin

years:=&year;

if (years/100)=round(years/100) then

if (years/4)=round(years/4) then

dbms_output.put_line(years||'年是閏年');

else

dbms_output.put_line(years||'年不是閏年');

end if;

else if (years/4)=round(years/4) then

dbms_output.put_line(years||'年是閏年');

else

dbms_output.put_line(years||'年不是閏年');

end if;

end if;

end;

4.declare

empnos number(4);

emp_sal emp.sal%type;

begin

empnos:=&empnos;

select sal into emp_sal from emp where empno=empnos;

if emp_sal<1000 then

dbms_output.put_line('poor');

else if emp_sal between 1000 and 2000 then

dbms_output.put_line('medium');

else if emp_sal between 2000 and 3000 then

dbms_output.put_line('good');

else if emp_sal between 3000 and 4000 then

dbms_output.put_line('very good');

else

dbms_output.put_line('excellent');

end if;

end if;

end if;

end if;

end;

5.declare

cursor emp_dept_cursor is

select e.empno,e.job,d.loc from emp e,dept d where e.deptno=d.deptno;

emp_empno emp.empno%type;

emp_job emp.job%type;

dept_loc dept.loc%type;

begin

open emp_dept_cursor;

loop

fetch emp_dept_cursor into emp_empno,emp_job,dept_loc;

exit when emp_dept_cursor%notfound;

if emp_job='manager' and dept_loc='dallas' then

update emp set sal=sal*1.15 where empno=emp_empno;

end if;

if emp_job='clerk' and dept_loc='new york' then

update emp set sal=sal*0.9 where empno=emp_empno;

end if;

end loop;

end;

6.declare

cursor emp_cursor is

select empno,hiredate from emp where mgr=(select empno from emp where ename='blake');

v_empno emp.empno%type;

v_sal emp.sal%type;

v_hiredate date;

begin

open emp_cursor;

loop

fetch emp_cursor into v_empno,v_hiredate;

exit when emp_cursor%notfound;

if extract(year from v_hiredate)<1982 then

update emp set sal=sal*1.2 where empno=v_empno;

else

update emp set sal=sal*1.1 where empno=v_empno;

end if;

end loop;

end;

第二章 編寫Spider

元件描述 型別engine 引擎,框架的核心,其他所有元件在其控制下協同工作 內部元件 scheduler 內部元件 內部元件 spider 使用者實現 middleware 中介軟體,負責對request物件和response物件進行處理 可選元件 item pipeline 資料管道,負責對爬取...

Python第二章 控制流

除整型 浮點型 字元型資料型別外,python還有乙個 布林 型。布林 資料型別只有兩種值 true 和 false。2.1 比較操作符 例如 print 10 20 輸出值為false print 10 20 輸出值為true print 10 20 輸出值為true print 10 20 輸出...

第二章 控制結構和函式

在本章中,會了解scala的條件表示式 迴圈 和函式,在j a中表示式和語句是兩種不同的東西,表示式有值,而語句執行動作。在scala中,幾乎所有構造出來的語法都有值。1.條件表示式 val s if x 0 1 else 1 val s if x 0 positive else 1 可以輸出混合型...