文档详情

oracle的一些习题.doc

发布:2017-11-02约1.61万字共19页下载文档
文本预览下载声明
求雇员的平均薪水,当薪水小于1000时,提示“薪水太低”,当薪水大于等于1000小于2000时, 提示起步的薪水,当薪水大于等于2000时, 提示已经步入软件行业中,使用CASE表达式来实现。 set serveroutput on declare v_sal emp.sal%type; v_var varchar2(20); begin select avg(sal) into v_sal from emp; v_var := case when v_sal1000 then 薪水太低 when v_sal=1000 and v_sal2000 then 起步的薪水 else 已经步入软件行业中 end ; dbms_output.put_line(v_var); end; declare v_count number(2):=1; v_empno emp.empno%type; v_ename emp.ename%type:=ljs; v_job emp.job%type:=manager; begin select max(empno) into v_empno from emp; loop insert into test(empno,ename,job) values((v_empno+v_count),v_ename,v_job); v_count :=v_count+1; exit when v_count3; end loop; end; for v_count in 1..3 loop insert into test(empno,ename,job) values((v_empno+v_count),v_ename,v_job) 创建表message,结构如下: results varchar2(10) 使用for循环插入1到10(除了6和8)的数据到表中, 在结束之前提交数据。 create table message (results varchar2(10)); begin for i in 1..10 loop if i=6 or i=8 then null; else insert into message values(i); end if; end loop; commit; end; select * from message; begin for i in 1..10 loop; if i6 and i8 then insert into message values(i); end if; end loop; commit; end; 尽量不用goto语句; begin dbms_output.put_line(1); goto l_last_line; dbms_output.put_line(2); return; l last_line dbms_output.put_line(3); end; 第三章 创建一个记录类型emp_record_type,它包含雇员的名字、 薪水、工作岗位,声明一个该类型的变量emp_record, 查询雇员编号是7788雇员的上述信息,并显示。 declare type emp_record_type is recode (ename emp.ename%type, sal emp.sal%type, job varchar2(20)); emp_record emp_record_type; begin select ename,job,sal into emp_record from emp where empno=7788; dbms_output.put_line(雇员名:=emp_record.ename;薪水:=sal); end; 第四章 创建一个游标,查询雇员的名字和薪水, 当查询到某雇员的薪水大于3000元时,退出循环,并显示其对应的名字和薪水。 set serveroutput on declare ename emp.ename%type; sal emp.sal%type; cursor emp_cursor is select ename,sal from emp; begin o
显示全部
相似文档