需求: 写一个邮件系统, 采用oracle+jsp+servlet来完成.
1. 创建一个表空间。
2. 创建一个用户,将用户赋到表空间上.
3. 给用户赋权限.
4. 以新建用户登录,创建一个程序包.
5. 在表空间上建表,两个表
用户表
Id  int
Uname varchar
Upass varchar
邮件表
eId  int
Title varchar
Contents varchar
Uid  int  外键
附件表
Id int
Filepath varchar
Eid int  外键
6. 作增,删,改,查的操作,全部封装到存储过程中
7. 写一个java程序来调用.
1.    解释FUNCTION,PROCEDURE和PACKAGE区别
答:function 和procedure是PL/SQL代码的集合,通常为了完成一个任务。procedure 不需要返回任何值, 而function将返回一个值. 在另一方面,Package是为了完成一个商业功能的一组function和procedure的集合。
2.    取某个序列的当前值的PL/SQL语句怎么写?
答:SELECT 序列名.CURRVAL  FROM  DUAL;
    Create sequence 名字 start with x  increment by y maxvalue z  nocycle
3.    说明ORACLE数据库实例与ORACLE用户的关系?
答:实例可以包含多个用户,一个用户只能在一个实例下
4.    创建用户时,需要赋予新用户什么权限才能使它连上数据库?
答:grant CONNECT  [on 表名] to 用户名
5.比较truncate和delete命令?
答:两者都可以用来删除表中所有的记录。区别在于:truncate是DDL(data defining lang
uage数据定义语言),它移动HWK,不需要rollback segment(处理事务回滚操作)而Delete是DML(data manufacturing language数据操作语言)操作,需要rollback segment(处理事务回滚操作)且花费较长时间
6.给出数据的相关约束类型?
答:主键约束,外键约束,非空约束,唯一约束,检查约束。
7.说明索引的类型与作用?
答:索引类型上分为聚集索引,非聚集索引.  其作用是加快查询速度。
8.获取某个字符字段的最后3个字符的函数是什么?
答:select substr (字段,(length(字段)-3)) from 表
9.取当前系统时间点日期(不包括年月)的SQL写法是怎样的?
答:Select substr (to_char(sysdate,’YYYYMMDDh24hh:MM:SS’),5) from dual;
  to_char(sysdate,’YYYYMMDDh24hh:MM:SS’)
10.返回大于等于N的最小整数值?
答:select ceil(1.5) from dual;
          floor(1.5)
11.将根据字符查询转换后结果,规则为:’A’转换为’男’,’B’转换为’女’,其他字符转换为’未知’,请用一个SQL语句写出。
答:select decode(字符,’A’,’男’,’B’,’女’,’未知’) from dual;
12.如何搜索出前N条记录?
答:select * from 表 where  Rownum <= N;
13.如何搜索出第N~M条记录?
答:select * from 表 where Rownum <= 100 Minus  select * from 表 where Rownum <= 90;
Select * from  ( Select rownum rn, t.* from  (Select * from 表名) t  where rownum<=大值 ) where rn>=小值
14.有一个数据表(TEST),字段如下:
ID                number
PARENT_ID        number
NAME            Varchar(20)
请使用PL/SQL来按父子层次关系查询出该表的所有数据
答:Select * from test a, test b Where a.parent_id = b.id;
15.怎样用SQL语句实现查一列中的第N大值?
答:select * from (select * from 表 order by 列名 Desc) where Rownum <= N  Minus  select * from (select * from 表 order by 列名 Desc) where Rownum <= N-1;
  select * from 表 order by 列名 Desc
  1 2 3 4 5 6 7 8 9
  9 8 7
  8 9
请按要求写出下列题目的答案:
                              表结构
EMP
DEPT
列名称
定义
列名称
定义
Empno
NUMBER(4),PK
Deptno
NUMBER(2)
Ename
VARCHAR2(10)
Dname
VARCHAR2(14)
Job
VARCHAR2(9)
Loc
VARCHAR2(13)
Mgr
NUMBER(4)
Hiredate
DATE
Sal
NUMBER(7,2)
Comm
NUMBER(7,2)
Deptno
NUMBER(2),FK
Empno—-雇员编号
Ename—-雇员名
Job—-工作类型
Mgr—-雇员的经理
多表查询sql语句面试题Hiredate—-雇用日期
Sal—-每月工资
Comm—-销售奖金
Deptno—-部门编号
Dname—-部门名
Loc—-地址
17.下面哪两个查询可以用来确定员工Blake所在部门的名称?  B C E
a.  SELECT dname FROM dept WHERE ename =(‘BLAKE’)
b.  SELECT d. dname FROM dept d NATURAL JOIN emp e
ame =‘BLAKE’  (主健和外键的名称和类型必须完全相等)
   
c.  SELECT dname FROM dept d,emp e
ame =‘BLAKE’
AND d.deptno = e.deptno
d.  SELECT dname FROM dept JOIN emp USING (dname)
WHERE ename =‘BLAKE’
e.    SELECT dname FROM dept JOIN emp
ON dept.deptno = emp.deptno
WHERE ename =‘BLAKE’
18. 如果Sal包含各个员工的月薪,那么下面哪一个查询将显示EMP表中的各个员工的年薪?  ( d )
a.  SELECT sal * 12 ‘Annual Salary’FROM emp;
b.  SELECT salary * 12 ‘annual FROM emp;
c.  SELECT annual sal * 12 FROM emp;
d.  SELECT sal * 12 FROM emp;
19.下面哪一个查询将显示存储在EMP表中的所有数据?  A 
a.  SELECT * FROM emp;
b.  SELECT % FROM emp;
c.  SELECT ^ FROM emp;
d.  SELECT _ FROM emp;
20.在执行下面的查询时,下面哪能一种说法反映了将会发生的情况?  B
SELECT ename  fROM emp e,emp m  = m.empno;
a.  这个查询将产生一个自我联接,显示各个员工的经理的姓名
b.  将显示一个多义性错误,并且不会执行这个语句
c.  这个查询将执行一个完全外部联接,并显示没有为其指定经理的员工的姓名
d.  这个查询将执行一个右外部联接,显示不是经理的员工的姓名
21.下面哪些关键字可以用来创建一个不等连接?选出所有正确的选项.    E
a.  NATURAL JOIN
b.  JOIN… USING
c.  OUTER JOIN
d.  JOIN… ON

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。