oracle 利用游標統計每年入職的員工人數

2021-07-04 17:34:37 字數 2104 閱讀 6731

--刪除原先的表建立emp表

--drop table emp;

create table emp(

ename varchar2(20),

hiredate varchar2(20)

);--插入資料

insert into emp values('哈哈1','1980-01-01');

insert into emp values('哈哈2','1980-11-01');

insert into emp values('哈哈3','1980-02-01');

insert into emp values('哈哈4','1980-05-01');

insert into emp values('哈哈01','1981-01-01');

insert into emp values('哈哈02','1981-01-01');

insert into emp values('哈哈03','1981-01-01');

insert into emp values('呵呵22','1982-03-03');

insert into emp values('嗯嗯','1987-02-02');

insert into emp values('a','1987-02-02');

select * from emp;

--統計每年入職的員工人數

--sql語句

--select to_char(hiredate,'yyyy') from emp;//游標來代表集合

--游標-迴圈-退出條件:notfound

--變數:1、初始值 2、如何得到

/*每年入職的員工人數

count80 number:=0;

count81 number:=0;

count82 number:=0;

count83 number:=0;

*/declare

--定義游標

cursor cemp is select to_char(hiredate,'yyyy') from emp;

phiredate varchar2(4);

--每年入職的員工人數

count80 number:=0;

count81 number:=0;

count82 number:=0;

count87 number:=0;

begin

--開啟游標

open cemp;

--loop迴圈遍歷

loop

--取出乙個員工的入職年份

fetch cemp into phiredate;

exit when cemp%notfound;

--判斷入職年份

if phiredate='1980' then count80:=count80+1;--注意是:=而不是=

elsif phiredate='1981'then count81:=count81+1;--注意是elsif而不是elseif或者else if

elsif phiredate='1982'then count82:=count82+1;

else count87:=count87+1;

end if;

end loop;

--關閉游標

close cemp;

--輸出結構

dbms_output.put_line('total:'||count80+count81+count82+count87);

dbms_output.put_line('1980'||count80);

dbms_output.put_line('1981'||count81);

dbms_output.put_line('1982'||count82);

dbms_output.put_line('1987'||count87);

end;

--查詢所有員工資訊

-- select * from emp;

--刪除所有員工資訊(清空員工表)

--delete from emp;

Oracle使用游標

了解一下訪問資料庫的ddl和tcl語句 一。plsql中使用select語句,應該與into字句連用,查詢出的返回值賦予into子句中的變數 變數的宣告是在delcare中 二。type屬性 在plsql中可以將變數和常量宣告為內建或使用者定義的資料型別,以引用乙個列名,同時繼承他的資料型別和大小。...

Oracle 游標 引用游標

sql set severoutput on sp2 0735 unknown set option beginning severoutpu.sql set serveroutput on sql remark 引用游標 sql remark sql remark sql remark 引用游標 ...

Oracle中使用游標

游標 目的 為了處理select語句返回多行資料 使用步驟 1 定義游標 cursor cursor name is select statement 2 開啟游標 open cursor name 3 提取資料 fetch cursor name into variable1,提取一行資料 或fe...