第二次Oracle题目
1、 Oracle分析函数有那些?主要有什么区别?
2、 请列举Oracle中常见的几种异常,分别是在什么情况下会触发。如何引发一个应用级别的异常
3、 请用过程实现Oracle数据的分页
4、 简述Oracle数据库体系结构中的物理组件和逻辑组件。
5、 编写一个程序,删除student表中的重复记录(8分)Name Type Nullable Default Comments
-------- ------------ -------- ------- --------
STU_NO NUMBER
STU_NAME VARCHAR2(10) Y
STU_AGE NUMBER Y 6、 在Oracle中写一个包,包中定义一个过程实现根据表中配置的查询语句,取出sql语句并动态的执行后返回这个查询语句并动态的显示在前台的table中。7、 如何实现行列转换
create table course
(
student_name varchar2(10),
subject varchar2(10),
grade number
);
insert into course values('张三','语文',80);
insert into course values('张三','数学',70);
insert into course values('张三','英语',56);
insert into course values('张三','英语',68);
insert into course values('李四','语文',90);
insert into course values('李四','数学',80);
insert into course values('李四','英语',100);
--转换为
姓名 语文 数学 英语
---------- ---------- ---------- ----------
李四 90 80 100
张三 80 70 62
请写出转换语句(5分)
1、 Oracle分析函数有那些?主要有什么区别?
2、 请列举Oracle中常见的几种异常,分别是在什么情况下会触发。如何引发一个应用级别的异常
3、 请用过程实现Oracle数据的分页
4、 简述Oracle数据库体系结构中的物理组件和逻辑组件。
5、 编写一个程序,删除student表中的重复记录(8分)Name Type Nullable Default Comments
-------- ------------ -------- ------- --------
STU_NO NUMBER
STU_NAME VARCHAR2(10) Y
STU_AGE NUMBER Y 6、 在Oracle中写一个包,包中定义一个过程实现根据表中配置的查询语句,取出sql语句并动态的执行后返回这个查询语句并动态的显示在前台的table中。7、 如何实现行列转换
create table course
(
student_name varchar2(10),
subject varchar2(10),
grade number
);
insert into course values('张三','语文',80);
insert into course values('张三','数学',70);
insert into course values('张三','英语',56);
insert into course values('张三','英语',68);
insert into course values('李四','语文',90);
insert into course values('李四','数学',80);
insert into course values('李四','英语',100);
--转换为
姓名 语文 数学 英语
---------- ---------- ---------- ----------
李四 90 80 100
张三 80 70 62
请写出转换语句(5分)
解决方案 »
- ORACLE 与 SQL server2005 资源释放问题[就这么多分了]
- 查询时如何将一个字段拆分成多个字段
- MSSQL2005存储过程转换成Oracle的
- 请教一个select查询问题
- oracle安装问题!急!
- 小弟是从MS-SQL才转到这里,还望各位大虾多多关照,只能放100分了,顺便问点弱智问题!
- 涉及到两行记录的金额计算问题??
- 请问哪里有oracle9i for Linux的版本下载
- linux平台下oracle9i,怎么不能插入中文
- oracle使用sql*loader导入数据出错,但是sql*plus可以正常使用。
- INSERT INTO TableName EXECUTE(@v_SQL)语句问题
- 【请教】前辈们,关于引用游标的一个小问题
总共有26个分析函数 ,结构 函数名字(1到3个参数)over (分组语句 排序 窗口子句)
例如
select sum(aa)over(partition by 列名/*表示安什么分组*/ order by 列名/*按照什么排序*/
precoding row 3 /*窗口子句有2种 : 一 rows 固定窗口 二 range 仅对数字日期有效 */
) from bb
2、 请列举Oracle中常见的几种异常,分别是在什么情况下会触发。如何引发一个应用级别的异常
oracle 异常有 三种 1:oracle系统异常 大概20多个 2 自定义异常 异常号 是从-2000到-2999 吧具体记不住了你查一下! 3 非自定义异常 这是oracle提供 看oracle文档有对应异常号码! 使用的时候必须先绑定 才能捕获 自定义异常使用的时候必须显示抛出 自定义异常跟oracle无关
3、 请用过程实现Oracle数据的分页
表a 列 b ,c 按照c排序select * from
(select t.*,rownum r from (select * from a order by c) t
where rownum < 10)
where r>4
insert into course values('张三','英语',56);
insert into course values('张三','英语',68);
subject varchar2(10),
grade number select student_name,
max(case subject when '语文' then isnull(grade,'') end) as '语文',
max(case subject when '数学' then isnull(grade,'') end) as '数学',
max(case subject when '英语' then isnull(grade,'') end) as '英语'from course
group by student_name
delete from student a
where exists(select 1 from student b where stu_no=b.stu_no
and a.rowid<b.rowid);
select count(STU_NO), max(STU_NAME) from student --列出重复的记录数,并列出他的name属性
group by STU_NO
having count(STU_NO) >1 --按num分组后找出表中num列重复,即出现次数大于一次
删数据:
delete from student
group by STU_NO
having count(STU_NO) >1
这样的话就把所有重复的都删除了。