第一题: 表结构说明: 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 1000 A C 1100 A D 900 A E 400 B D 300 D F 600 E A 400 F G 1000 C B 600 请用SQL语句或一段代码写出从A出发,可达到的目的地(包括间接方式)以及公里数。
评论列表
文章目录