第一题:表结构说明:create table employee(id number(10) not null, -- 员工工号 salary number(10,2) default 0 not null, -- 薪水name varchar2(24) not null -- 姓名);1.创建序列seq_employee,该序列每次取的时候它会自动增加,从1开始计数,不设最大值,并且一直累加,不循环。2.写一个PL/SQL块,插入表user.employee中100条数据。插入该表中字段id用序列seq_employee实现,薪水和姓名字段可以任意填写。3.写一个语句块,在语句块中定义一个显式游标,按id升序排列,打印表employee中前十条数据。4.创建存储过程p_employee,输入员工薪水范围,返回员工工号、姓名、薪水结果集,结果集按员工薪水升序排列。5.创建函数f_employee实现更新员工薪水的功能,将薪水低于2000且姓wang的员工薪水加5%,其他不变,更新成功则返回0,否则返回1。6.写一个匿名语句块,用于执行函数f_employee,并打印执行该函数的结果。7.创建存储过程p_create_emp,用于判断表employee是否存在,如果存在则删除该表。8.写一个匿名语句块,用于执行存储过程p_create_emp。第二题:Wages 表-------------------------------------------Emp_id | 基本工资| 工龄工资|-------------------------------------------1 | 1.00 | 1.00 |-------------------------------------------2 | 1.00 | 2.00 |-------------------------------------------3 | 1.00 | 3.00 |-------------------------------------------4 | 1.00 | 4.00 |-------------------------------------------得到如下结果:Emp_id | 基本工资| 工龄工资 | 合计 | 名次------------------------------------------------------------------1 | 1.00 | 1.00|2.00 | x------------------------------------------------------------------2 | 1.00 | 2.00|3.00 | y------------------------------------------------------------------3 | 1.00 | 3.00|4.00 | ..------------------------------------------------------------------4 | 1.00 | 4.00|5.00 | ..------------------------------------------------------------------第三题:3、有如下信息:起始地 目的地 距离(公里)A B 1000A C 1100A D 900A E 400B D 300D F 600E A 400F G 1000C B 600请用SQL语句或一段代码写出从A出发,可达到的目的地(包括间接方式)以及公里数。



