1、完成一下3个练习题,注意功能逐步完善。
a、使用替代变量输入数据,实现向emp表插入数据。(直接插入,无需考虑其他因素) b、使用替代变量输入数据,实现向emp表插入数据,并在插入前检查是不是违反主键 约束,如果违反则什么都不做。
c、使用替代变量输入数据,实现向emp表插入数据,并在插入前检查是不是违反主键
约束,如果违反则提示用户“已经存在相同编号的用户”。
2、编写一个程序段,输入员工编号,依据以下的条件给指定的员工更改工资
ANALYST CLERK MANAGER PRESIDENT SALESMAN
13% 7%
12% 14% 20%
a、使用IF语句实现。
b、使用case语句实现。
3、首先建立临时表temp,然后编写PL/SQL块为该表插入数据1-20,其中排除5,10,14,20,建立表的语句
create table temp(cola int);
4、建立表TOP,然后编写PL/SQL块,将emp表中工资最高的前N个(使用替代变量)雇员插入TOP表。 异常处理:
1、raise语句放在PL/SQL程序块的哪一部分?
2、在异常和Oracle错误建立关联的时候,应该在哪个部分完成?
3、使用rasie_application_error的目的是什么? 4、假定在EMP表上定义了check约束,要求雇员工资不能高于6000.为了处理工资超过6000的错误,应该使用什么样的异常?
5、编写PL/SQL块,使用SQL*Plus替代变量输入员工号,显示员工的部门名称,工作岗位。并处理NO_DATA_FOUND的异常。如果不存在此员工,则显示消息“请检查员工号,并输入正确的员工号”
6、编写PL/SQL块,使用SQL*Plus替代变量输入部门号,删除该部门的信息,并处理可能的错误: a、如果能成功删除部门,则显示消息“成功删除部门...”
b、如果部门不存在,则显示消息“部门不存在”
c、如果违反了约束,则显示“此部门有员工不能被删除”
7、编写PL/SQL程序块,使用SQL*Plus替代变量输入员工号,姓名、岗位和部门号,利用异常实现,CLERK岗位的员工不能在10部门。
8、利用PL/SQL实现数据库分页emp表,select * from emp
输入:一页显示几行(页大小),第几页(页数)
如果输入的页数大于最大页数,要提示用户,他可以输入的页码范围。