`
jie66989
  • 浏览: 254871 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

oracle提示

    博客分类:
  • SQL
阅读更多
===================================版本=======================================
Oracle10g分为4个版本,分别是:
1。Oracle Database Standard Edition One,最基本的商业版本,包括基本的数据库功能。
2。Oracle Database Standard Edition ,标准版,包括上面那个版本的功能和RAC,只有在10g的标准版中才开始包含RAC。
3。Oracle Database Enterprise Edition,企业版,虽说是最强劲的版本,但是并不是所有我们常用的功能都在这个版本中,很多东西仍然是要额外付费的,后面会说到。
4。Oracle Database Personal Edition,个人版,除了不支持RAC之外包含企业版的所有功能,但是注意的是,只有Windows平台上才提供个人版。
===================================修改密码====================================
alter   user   sys   identified   by   sys;     --改密码为sys  
===================================中文字符集====================================
--注册表 :HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0\NLS_LANG设置为
SIMPLIFIED CHINESE_CHINA.ZHS16GBK


======================sys用户任意密码======================================
原因:是因为本地连接输入操作系统认证,远程连接才需要口令,系统认证会查找当前登录用户是否从属于DBA组,如果属于,属于sysdba身份的直接连接;
===要使用口令管理需要
在SQLNET.ora中的配置 SQLNET.AUTHENTICATION_SERVICES= (NTS/NONE)

NTS:操作系统认证

NONE:口令文件认证





============================启动监听==============================
修改listener.ora HOST为本机名


=====================sqlplus Developer最新注册码==========================
QVJTSV-KNNSSK-G4UUL4-354LGX-FRZ8X3
112243.957
xs374ca




-------------------------------完全卸载orcale----------------------------------
1、开始->设置->控制面板->管理工具->服务 停止所有Oracle服务。 
2、开始->程序->Oracle - OraHome9I->Oracle Installation Products-> Universal Installer 卸装所有Oracle产品,但Universal Installer本身不能被删除 
5、运行regedit,选择HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE,按del键删除这个入口。 
6、运行regedit,选择HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services,滚动 这个列表,删除所有Oracle入口。 
7、运行refedit,选择HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application, 删除所有Oracle入口。 
8、开始->设置->控制面板->系统->高级->环境变量 删除环境变量CLASSPATH和PATH中有关Oracle的设定 
9、从桌面上、STARTUP(启动)组、程序菜单中,删除所有有关Oracle的组和图标 
10、删除\Program Files\Oracle目录 
11、重新启动计算机,重起后才能完全删除Oracle所在目录 
12、删除与Oracle有关的文件,选择Oracle所在的缺省目录D:\Oracle,删除这个入口目录及所有子目录,并从C:\下删除以下文件ORA*。 
13、WIN.INI文件中若有[ORACLE]的标记段,删除该段 
14、如有必要,删除所有Oracle相关的ODBC的DSN 
15、到事件查看器中,删除Oracle相关的日志 说明:如果有个别DLL文件无法删除的情况,则不用理会,重新启动,开始新的安装,安装时,选择一个新的目录,则,安装完毕并重新启动后,老的目录及文件就可以删除掉了


-----------------------------------------------------------------------------


       A.求部门平均薪水的等级。

       B.求部门平均的薪水等级
     
       C.那些人是经理
     
       D.不准用聚合函数,求薪水的最高值(面试题)      
      
       E.平均薪水最高的部门编号     
     
       F.平均薪水最高的部门名称
     
       G.求平均薪水的等级最低的部门的部门名称



----------------------------------oracle面试题-------------------------------------
1、对数据库SQL2005、ORACLE熟悉吗?
   SQL2005是微软公司的数据库产品。是一个RDBMS数据库,一般应用在一些中型数据库的应用,不能跨平台。
   ORACLE是ORACLE公司的数据产品,支持海量数据存储,支持分布式布暑,支持多用户,跨平台,数据安全完整性控制性能优越,是一个ORDBMS,一般用在大型公司。
2、能不能设计数据库?如何实现数据库导入与导出的更新
   使用POWERDISINE工具的使用,一般满足第三范式就可以了。EXP与IMP数据库的逻辑导入与导出
3、如何只显示重复数据,或不显示重复数据
   显示重复:select * from tablename group by id having count(*)>1
   不显示重复:select * from tablename group by id having count(*)=1
4、什么是数据库的映射
   就是将数据库的表与字段对应到模型层类名与属性的过程
5、写分页有哪些方法,你一般用什么方法?用SQL语句写一个分页?
如何用存储过程写分页?
   在SQLSERVER中使用TOP分页,在ORACLE中用ROWNUM,或分析函数ROW_NUMBER
   使用TOP:
   select top 20,n.* from tablename n minus select top 10,m.* from tablename m
   使用分析函数:
    select * from
   (select n.*,row_number() over(order by columnname) num  from tablename n)
    where num>=10 and num <=20;
   使用过程时,只要将分页的范围用两个参数就可以实现。在ORACLE中,要将过程封装在包里,还要用动态游标变量才能实现数据集的返回。
6、ORACLE中左连接与右连接
   左连接:LEFT JOIN  右连接:RIGHT JOIN
   select n.column,m.column from tablename1 n left join tablename2 m
   on n.columnname=m.columnname
   用WHERE实现:
   select n.column,m.column from tablename1 n, tablename2 m
   where n.columnname(+)=m.columnname

7、什么是反射、序列化、反序列化?事务有几种级别?
    反射是在程序运行时动态访问DDL的一种方式。序列化是将对象对二进制、XML等方式直接向文件的存储。反序列化是将存储到文件的对象取出的过程。事务的级别的三种:页面级、应用程序级、数据库级。
8、数据测试如何测试?
   在PLSQL里对过程或函数可能通过专用的测试工具,通过对
9、用事务的时候,如果在业务逻辑层中,调用数据库访问层中的方法,访问层中有很多类,类又有很多方法,每个方法都要实现,那么如何处理?
    通用数据访问层的实现
10、什么时候会用到触发器
   A安全管理、B日志管理、C复杂业务逻辑实现
11、如何在数据库中显示树控制?
   用父ID与子ID来实现
12、如何实现数据库的优化?
    A、调整数据结构的设计。这一部分在开发信息系统之前完成,程序员需要考虑是否使用ORACLE数据库的分区功能,对于经常访问的数据库表是否需要建立索引等。

    B、调整应用程序结构设计。这一部分也是在开发信息系统之前完成,程序员在这一步需要考虑应用程序使用什么样的体系结构,是使用传统的Client/Server两层体系结构,还是使用Browser/Web/Database的三层体系结构。不同的应用程序体系结构要求的数据库资源是不同的。


    C、调整数据库SQL语句。应用程序的执行最终将归结为数据库中的SQL语句执行,因此SQL语句的执行效率最终决定了ORACLE数据库的性能。ORACLE公司推荐使用ORACLE语句优化器(Oracle Optimizer)和行锁管理器(row-level manager)来调整优化SQL语句。


    D、调整服务器内存分配。内存分配是在信息系统运行过程中优化配置的,数据库管理员可以根据数据库运行状况调整数据库系统全局区(SGA区)的数据缓冲区、日志缓冲区和共享池的大小;还可以调整程序全局区(PGA区)的大小。需要注意的是,SGA区不是越大越好,SGA区过大会占用操作系统使用的内存而引起虚拟内存的页面交换,这样反而会降低系统。


    E、调整硬盘I/O,这一步是在信息系统开发之前完成的。数据库管理员可以将组成同一个表空间的数据文件放在不同的硬盘上,做到硬盘之间I/O负载均衡。


    F、调整操作系统参数,例如:运行在UNIX操作系统上的ORACLE数据库,可以调整UNIX数据缓冲池的大小,每个进程所能使用的内存大小等参数。


--sql面试
一.简单SQL查询:
1):统计每个部门员工的数目
view plaincopy to clipboardprint?
select dept,count(*) from employee group by dept; 
select dept,count(*) from employee group by dept;
2):统计每个部门员工的数目大于一个的记录
view plaincopy to clipboardprint?
select dept,count(*) from employee group by dept having count(*)>1; 
select dept,count(*) from employee group by dept having count(*)>1;
3):统计工资超过1200的员工所在部门的名称
view plaincopy to clipboardprint?
select e.first_name,salary,d.name 
from s_emp e, s_dept d  
where e.dept_id = d.id  
and salary > 1200; 
select e.first_name,salary,d.name
from s_emp e, s_dept d
where e.dept_id = d.id
and salary > 1200;
4):查询哪个部门没有员工
view plaincopy to clipboardprint?
select e.empno, d.deptno   
from emp e, dept d  
where e.deptno(+) = d.deptno  
and e.deptno is null; 
select e.empno, d.deptno
from emp e, dept d
where e.deptno(+) = d.deptno
and e.deptno is null;

二.复杂SQL查询
有3个表(15分钟):(SQL)
Student 学生表 (学号,姓名,性别,年龄,组织部门)
Course 课程表 (编号,课程名称)
Sc 选课表 (学号,课程编号,成绩)
表结构如下:

1) 写一个SQL语句,查询选修了’JAVA’的学生学号和姓名(3分钟)
答:SQL语句如下:
view plaincopy to clipboardprint?
select stu.sno, stu.sname   
from student stu, course c, sc   
where stu.sno = sc.sno   
and sc.cno = c.cno  
and c.cname="JAVA"; 
select stu.sno, stu.sname
from student stu, course c, sc
where stu.sno = sc.sno
and sc.cno = c.cno
and c.cname="JAVA";
2) 写一个SQL语句,查询’a’同学选修了的课程名字(3分钟)
答:SQL语句如下:
view plaincopy to clipboardprint?
select stu.sname, c.cname   
from student stu, course c, sc   
where stu.sno = sc.sno   
and sc.cno = c.cno  
and stu.sname = "a"; 
select stu.sname, c.cname
from student stu, course c, sc
where stu.sno = sc.sno
and sc.cno = c.cno
and stu.sname = "a";
3) 写一个SQL语句,查询选修了5门课程的学生学号和姓名(9分钟)
答:SQL语句如下:
view plaincopy to clipboardprint?
select stu.sno, stu.sname  
from student stu   
where (select count(*) from sc where sno=stu.sno) = 5; 
select stu.sno, stu.sname
from student stu
where (select count(*) from sc where sno=stu.sno) = 5;

三. 在SQL中删除重复记录的方法:(用到rowid (oracle伪列))1)通过建立临时表来实现
view plaincopy to clipboardprint?
SQL>create table temp_emp as (select distinct * from employee)   
SQL>truncate table employee; (清空employee表的数据)   
SQL>rename temp_emp to employee; (再将表重命名) 
SQL>create table temp_emp as (select distinct * from employee)
SQL>truncate table employee; (清空employee表的数据)
SQL>rename temp_emp to employee; (再将表重命名)

2)通过使用rowid来实现。
view plaincopy to clipboardprint?
SQL>delete from employee where rowid not in (  
select max(t1.rowid) from employee t1 group by   
t1.emp_id,t1.emp_name,t1.salary);--这里用min(rowid)也可以。 
SQL>delete from employee where rowid not in (
select max(t1.rowid) from employee t1 group by
t1.emp_id,t1.emp_name,t1.salary);--这里用min(rowid)也可以。

四. TOP N问题:(用到rownum (oracle伪列))
--rownum只能使用<=或<的关系比较运算符
view plaincopy to clipboardprint?
select * from s_emp where rownum <= 2; 
select * from s_emp where rownum <= 2;

--查询公司工资最高的3个人
/*select * from emp
where rownum <= 3
order by sal desc;*/ 错误的
view plaincopy to clipboardprint?
select * from (select * from emp order by sal desc)  
where rownum <= 3; 
select * from (select * from emp order by sal desc)
where rownum <= 3;

五.分页查询:--查询第1-5条记录
view plaincopy to clipboardprint?
select * from (select rownum num, s_emp.* from s_emp)  
where num >=1 and num <= 5; 
select * from (select rownum num, s_emp.* from s_emp)
where num >=1 and num <= 5;

--按工资排序,五条一页,查找第二页
view plaincopy to clipboardprint?
select salary,first_name  
from(  
select s.*, rownum rm  
from (select *  
from s_emp  
order by salary d  
) s  
)  
where rm between 6 and 10;




SQL面试题[经典收录]
文章分类:数据库
SQL面试题(1)

create table testtable1
(
id int IDENTITY,
department varchar(12)
)

select * from testtable1
insert into testtable1 values('设计')
insert into testtable1 values('市场')
insert into testtable1 values('售后')
/*
结果
id department
1   设计
2   市场
3   售后
*/
create table testtable2
(
id int IDENTITY,
dptID int,
name varchar(12)
)
insert into testtable2 values(1,'张三')
insert into testtable2 values(1,'李四')
insert into testtable2 values(2,'王五')
insert into testtable2 values(3,'彭六')
insert into testtable2 values(4,'陈七')
/*
用一条SQL语句,怎么显示如下结果
id dptID department name
1   1      设计        张三
2   1      设计        李四
3   2      市场        王五
4   3      售后        彭六
5   4      黑人        陈七
*/

答案:

SELECT testtable2.* , ISNULL(department,'黑人')
FROM testtable1 right join testtable2 on testtable2.dptID = testtable1.ID

也做出来了可比这方法稍复杂。

sql面试题(2)

有表A,结构如下:
A: p_ID p_Num s_id
1 10 01
1 12 02
2 8 01
3 11 01
3 8 03
其中:p_ID为产品ID,p_Num为产品库存量,s_id为仓库ID。请用SQL语句实现将上表中的数据合并,合并后的数据为:
p_ID s1_id s2_id s3_id
1 10 12 0
2 8 0 0
3 11 0 8
其中:s1_id为仓库1的库存量,s2_id为仓库2的库存量,s3_id为仓库3的库存量。如果该产品在某仓库中无库存量,那么就是0代替。

结果:

select p_id ,
sum(case when s_id=1 then p_num else 0 end) as s1_id
,sum(case when s_id=2 then p_num else 0 end) as s2_id
,sum(case when s_id=3 then p_num else 0 end) as s3_id
from myPro group by p_id

SQL面试题(3)

1 .触发器的作用?

   答:触发器是一中特殊的存储过程,主要是通过事件来触发而被执行的。它可以强化约束,来维护数据的完整性和一致性,可以跟踪数据库内的操作从而不允许未经许可的更新和变化。可以联级运算。如,某表上的触发器上包含对另一个表的数据操作,而该操作又会导致该表触发器被触发。

2 。什么是存储过程?用什么来调用?

答:存储过程是一个预编译的 SQL 语句,优点是允许模块化的设计,就是说只需创建一次,以后在该程序中就可以调用多次。如果某次操作需要执行多次 SQL ,使用存储过程比单纯 SQL 语句执行要快。可以用一个命令对象来调用存储过程。

3 。索引的作用?和它的优点缺点是什么?

答:索引就一种特殊的查询表,数据库的搜索引擎可以利用它加速对数据的检索。它很类似与现实生活中书的目录,不需要查询整本书内容就可以找到想要的数据。索引可以是唯一的,创建索引允许指定单个列或者是多个列。缺点是它减慢了数据录入的速度,同时也增加了数据库的尺寸大小。

3 。什么是内存泄漏?

答:一般我们所说的内存泄漏指的是堆内存的泄漏。堆内存是程序从堆中为其分配的,大小任意的,使用完后要显示释放内存。当应用程序用关键字 new 等创建对象时,就从堆中为它分配一块内存,使用完后程序调用 free 或者 delete 释放该内存,否则就说该内存就不能被使用,我们就说该内存被泄漏了。

4 。维护数据库的完整性和一致性,你喜欢用触发器还是自写业务逻辑?为什么?

答:我是这样做的,尽可能使用约束,如 check, 主键,外键,非空字段等来约束,这样做效率最高,也最方便。其次是使用触发器,这种方法可以保证,无论什么业务系统访问数据库都可以保证数据的完整新和一致性。最后考虑的是自写业务逻辑,但这样做麻烦,编程复杂,效率低下。

5 。什么是事务?什么是锁?

答:事务就是被绑定在一起作为一个逻辑工作单元的 SQL 语句分组,如果任何一个语句操作失败那么整个操作就被失败,以后操作就会回滚到操作前状态,或者是上有个节点。为了确保要么执行,要么不执行,就可以使用事务。要将有组语句作为事务考虑,就需要通过 ACID 测试,即原子性,一致性,隔离性和持久性。

   锁:在所以的 DBMS 中,锁是实现事务的关键,锁可以保证事务的完整性和并发性。与现实生活中锁一样,它可以使某些数据的拥有者,在某段时间内不能使用某些数据或数据结构。当然锁还分级别的。

6 。什么叫视图?游标是什么?

答:视图是一种虚拟的表,具有和物理表相同的功能。可以对视图进行增,改,查,操作,试图通常是有一个表或者多个表的行或列的子集。对视图的修改不影响基本表。它使得我们获取数据更容易,相比多表查询。

   游标:是对查询出来的结果集作为一个单元来有效的处理。游标可以定在该单元中的特定行,从结果集的当前行检索一行或多行。可以对结果集当前行做修改。一般不使用游标,但是需要逐条处理数据的时候,游标显得十分重要。

7。为管理业务培训信息,建立3个表:

     S(S#,SN,SD,SA)S#,SN,SD,SA分别代表学号,学员姓名,所属单位,学员年龄

     C(C#,CN)C#,CN分别代表课程编号,课程名称

      SC(S#,C#,G) S#,C#,G分别代表学号,所选的课程编号,学习成绩

    (1)使用标准SQL嵌套语句查询选修课程名称为’税收基础’的学员学号和姓名?

          答案:select s# ,sn from s where S# in(select S# from c,sc where c.c#=sc.c# and cn=’税收基础’)

      (2) 使用标准SQL嵌套语句查询选修课程编号为’C2’的学员姓名和所属单位?

答:select sn,sd from s,sc where s.s#=sc.s# and sc.c#=’c2’

      (3) 使用标准SQL嵌套语句查询不选修课程编号为’C5’的学员姓名和所属单位?

答:select sn,sd from s where s# not in(select s# from sc where c#=’c5’)

       (4)查询选修了课程的学员人数

答:select 学员人数=count(distinct s#) from sc

       (5) 查询选修课程超过5门的学员学号和所属单位?

答:select sn,sd from s where s# in(select s# from sc group by s# having count(distinct c#)>5)

SQL面试题(4)

1.查询A(ID,Name)表中第31至40条记录,ID作为主键可能是不是连续增长的列,完整的查询语句如下:

select top 10 * from A where ID >(select max(ID) from (select top 30 ID from A order by A ) T) order by A

2.查询表A中存在ID重复三次以上的记录,完整的查询语句如下:
select * from(select count(ID) as count from table group by ID)T where T.count>3

SQL面试题(5)

在面试应聘的SQL Server数据库开发人员时,我运用了一套标准的基准技术问题。下面这些问题是我觉得能够真正有助于淘汰不合格应聘者的问题。它们按照从易到难的顺序排列。当你问到关于主键和外键的问题时,后面的问题都十分有难度,因为答案可能会更难解释和说明,尤其是在面试的情形下。

你能向我简要叙述一下SQL Server 2000中使用的一些数据库对象吗?

你希望听到的答案包括这样一些对象:表格、视图、用户定义的函数,以及存储过程;如果他们还能够提到像触发器这样的对象就更好了。如果应聘者不能回答这个基本的问题,那么这不是一个好兆头。

NULL是什么意思?

NULL(空)这个值是数据库世界里一个非常难缠的东西,所以有不少应聘者会在这个问题上跌跟头您也不要觉得意外。

NULL这个值表示UNKNOWN(未知):它不表示“”(空字符串)。假设您的SQL Server数据库里有ANSI_NULLS,当然在默认情况下会有,对NULL这个值的任何比较都会生产一个NULL值。您不能把任何值与一个 UNKNOWN值进行比较,并在逻辑上希望获得一个答案。您必须使用IS NULL操作符。

什么是索引?SQL Server 2000里有什么类型的索引?

任何有经验的数据库开发人员都应该能够很轻易地回答这个问题。一些经验不太多的开发人员能够回答这个问题,但是有些地方会说不清楚。

简单地说,索引是一个数据结构,用来快速访问数据库表格或者视图里的数据。在SQL Server里,它们有两种形式:聚集索引和非聚集索引。聚集索引在索引的叶级保存数据。这意味着不论聚集索引里有表格的哪个(或哪些)字段,这些字段都会按顺序被保存在表格。由于存在这种排序,所以每个表格只会有一个聚集索引。非聚集索引在索引的叶级有一个行标识符。这个行标识符是一个指向磁盘上数据的指针。它允许每个表格有多个非聚集索引。

什么是主键?什么是外键?

主键是表格里的(一个或多个)字段,只用来定义表格里的行;主键里的值总是唯一的。外键是一个用来建立两个表格之间关系的约束。这种关系一般都涉及一个表格里的主键字段与另外一个表格(尽管可能是同一个表格)里的一系列相连的字段。那么这些相连的字段就是外键。

什么是触发器?SQL Server 2000有什么不同类型的触发器?

让未来的数据库开发人员知道可用的触发器类型以及如何实现它们是非常有益的。

触发器是一种专用类型的存储过程,它被捆绑到SQL Server 2000的表格或者视图上。在SQL Server 2000里,有INSTEAD-OF和AFTER两种触发器。INSTEAD-OF触发器是替代数据操控语言(Data Manipulation Language,DML)语句对表格执行语句的存储过程。例如,如果我有一个用于TableA的INSTEAD-OF-UPDATE触发器,同时对这个表格执行一个更新语句,那么INSTEAD-OF-UPDATE触发器里的代码会执行,而不是我执行的更新语句则不会执行操作。

AFTER触发器要在DML语句在数据库里使用之后才执行。这些类型的触发器对于监视发生在数据库表格里的数据变化十分好用。

您如何确一个带有名为Fld1字段的TableB表格里只具有Fld1字段里的那些值,而这些值同时在名为TableA的表格的 Fld1字段里?

这个与关系相关的问题有两个可能的答案。第一个答案(而且是您希望听到的答案)是使用外键限制。外键限制用来维护引用的完整性。它被用来确保表格里的字段只保存有已经在不同的(或者相同的)表格里的另一个字段里定义了的值。这个字段就是候选键(通常是另外一个表格的主键)。

另外一种答案是触发器。触发器可以被用来保证以另外一种方式实现与限制相同的作用,但是它非常难设置与维护,而且性能一般都很糟糕。由于这个原因,微软建议开发人员使用外键限制而不是触发器来维护引用的完整性。

对一个投入使用的在线事务处理表格有过多索引需要有什么样的性能考虑?

你正在寻找进行与数据操控有关的应聘人员。对一个表格的索引越多,数据库引擎用来更新、插入或者删除数据所需要的时间就越多,因为在数据操控发生的时候索引也必须要维护。

你可以用什么来确保表格里的字段只接受特定范围里的值?

这个问题可以用多种方式来回答,但是只有一个答案是“好”答案。您希望听到的回答是Check限制,它在数据库表格里被定义,用来限制输入该列的值。

触发器也可以被用来限制数据库表格里的字段能够接受的值,但是这种办法要求触发器在表格里被定义,这可能会在某些情况下影响到性能。因此,微软建议使用Check限制而不是其他的方式来限制域的完整性。

如果应聘者能够正确地回答这个问题,那么他的机会就非常大了,因为这表明他们具有使用存储过程的经验。

返回参数总是由存储过程返回,它用来表示存储过程是成功还是失败。返回参数总是INT数据类型。

OUTPUT参数明确要求由开发人员来指定,它可以返回其他类型的数据,例如字符型和数值型的值。(可以用作输出参数的数据类型是有一些限制的。) 您可以在一个存储过程里使用多个OUTPUT参数,而您只能够使用一个返回参数。

什么是相关子查询?如何使用这些查询?

经验更加丰富的开发人员将能够准确地描述这种类型的查询。

相关子查询是一种包含子查询的特殊类型的查询。查询里包含的子查询会真正请求外部查询的值,从而形成一个类似于循环的状况。

SQL面试题(6)

原表:
courseid coursename score
-------------------------------------
1 java 70
2 oracle 90
3 xml 40
4 jsp 30
5 servlet 80
-------------------------------------
为了便于阅读,查询此表后的结果显式如下(及格分数为60):
courseid coursename score mark
---------------------------------------------------
1 java 70 pass
2 oracle 90 pass
3 xml 40 fail
4 jsp 30 fail
5 servlet 80 pass
---------------------------------------------------
写出此查询语句

ORACLE : select courseid, coursename ,score ,decode(sign(score-60),-1,'fail','pass') as mark from course

(DECODE函数是ORACLE PL/SQL是功能强大的函数之一,目前还只有ORACLE公司的SQL提供了此函数)

(SQL: select courseid, coursename ,score ,(case when score<60 then 'fail' else 'pass' end) as mark from course )
分享到:
评论

相关推荐

    navicat链接oracle提示:“ORA-12737”资源包

    标题中的“navicat链接oracle提示:“ORA-12737”资源包”表明了问题的核心在于Navicat这款数据库管理工具尝试连接Oracle数据库时遇到了错误“ORA-12737”。这个错误通常与Oracle Instant Client有关,它是Oracle...

    安装oracle提示版本不兼容解决

    在安装过程中oracle 在检查操作系统时 操作系统检查有问题,提示未在此操作系统中验证过。用户确认即可继续安装 64位的机器不用严格按照oracle 在下载时候对版本的要求去挑选合适的oracl版本 在 64位windows7 中...

    Delphi ADO连接Oracle提示数据类型不支持

    Delphi ADO连接Oracle提示数据类型不支持,原因为连接驱动问题.

    oci.zip用于Oracle提示连接错误

    oracle提示连接错误,需要下载一个oci.dll放到对应bin目录。

    oracle 安装时提示256颜色

    在进行Oracle数据库软件安装的过程中,遇到“256颜色”提示的问题是较为常见的技术难题之一。这一问题通常出现在Linux或Unix环境下,当用户试图通过文本界面(非图形界面)进行Oracle安装时,会遇到类似的错误信息,...

    navicat链接oracle提示资源包适合各种版本

    这个错误提示意味着Navicat的Instant Client版本与Oracle服务器之间的字符集不兼容。让我们深入探讨这个问题以及如何解决。 首先,理解字符集是关键。字符集定义了计算机如何存储和处理文本数据。ZHS16GBK是中文GBK...

    delphi连接oracle(免装oracle客户端)测试

    当开发Delphi应用程序时,有时需要与Oracle数据库进行交互,但传统的连接方式可能需要安装完整的Oracle客户端,这会占用大量系统资源且安装过程复杂。本篇文章将详细介绍如何在Delphi中实现连接Oracle数据库,无需...

    oracle未找到提供的程序,该程序为正确安装解决办法

    Oracle 未找到提供程序是指在使用 ADO 连接 Oracle 数据库时,出现“未找到提供程序,该程序可能未正确安装”的错误提示。这种错误通常是由于 Oracle 安装目录下的 BIN 目录中的 OraOLEDB11.dll 文件未正确注册引起...

    oracle11G调整物理内存提示ORA-00845 MEMORY_TARGET

    "Oracle 11g调整物理内存提示ORA-00845 MEMORY_TARGET" Oracle 11g 中的内存自动管理机制 ===================================== Oracle 11g 中引入了一个新的内存自动管理机制,即 MEMORY_TARGET 参数,这个...

    oracle的驱动连接包8.0版本

    Oracle数据库是全球广泛使用的大型关系型数据库管理系统之一,其8.0版本在20世纪末期至本世纪初是很多企业的重要数据存储解决方案。Oracle驱动连接包是Java应用程序与Oracle数据库进行交互的关键组件,它实现了Java ...

    oracle错误及解决方法

    - **阅读错误信息**:首先,仔细阅读错误提示,它会提供错误的原因和可能的解决方案。 - **查询文档**:Oracle官方文档(如Oracle Database Error Messages)是查找错误解决方案的重要资源,其中详细解释了每个...

    PB如何连接Oracle数据库

    PB 如何连接 Oracle 数据库 本文将指导您如何使用 PowerBuilder 连接 Oracle 数据库,从最基本的 ODBC 配置到 DB Profile 配置和 PB 专用接口配置,整个过程简单易懂,适合初学者和高手。 ODBC 配置 在 Windows ...

    ThinkPHP 5.0 Oracle驱动

    首先在php.ini开启 php_pdo_oci 扩展 然后,配置应用的数据库配置文件database.php的type参数为: 'type' =&gt; '\think\oracle\Connection',

    浅谈Delphi7.0连接Oracle数据库的三种方式.pdf

    浅谈Delphi7.0连接Oracle数据库的三种方式 Delphi是Borland公司开发的一款功能强大的集成开发环境(IDE),它支持多种编程语言,包括Object Pascal、C++和Java等。Delphi7.0是Delphi的一個版本,它具有强大的数据库...

    LINUX中安装oracle缺少的rpm包

    在Linux环境中安装Oracle数据库,尤其是Oracle 11g时,可能会遇到依赖问题,因为Oracle数据库软件需要特定的库和工具才能正确运行。本篇文章将详细解释如何解决在Linux上安装Oracle 11g时可能遇到的缺失RPM包问题。 ...

    oracle 提示登录密码过期完美解决方法

    当Oracle提示登录密码过期时,这是为了确保系统的安全性和遵循企业密码策略。本文将详细介绍如何解决Oracle密码过期的问题,以及如何处理Oracle数据库中scott用户的密码过期情况。 1. 解决Oracle登录密码过期的方法...

    Windows环境下配置Oracle ODBC安装包及安装配置教程

    2. 跟随安装向导的提示,接受许可协议,选择合适的安装路径,并完成安装过程。 配置Oracle ODBC数据源: 1. 完成驱动程序安装后,打开“控制面板” &gt; “管理工具” &gt; “ODBC数据源(32位)”或“ODBC数据源(64位)...

    安装oracle11g在windows平台安装报INS-30131错误的解决方法

    在安装Oracle 11g数据库的过程中,尤其是在Windows平台上,用户可能会遇到“INS-30131”错误提示:“执行安装程序验证所需的初始设置失败”。此错误通常与系统服务配置、注册表设置或安装环境有关。 #### 错误代码...

    SqlServer2008访问Oracle数据库

    SqlServer2008通过Oracle provider for OLEDB访问远程Oracle数据库 包括链接服务器环境安装、链接服务器创建、远程建表、修改表,增删改查数据,创建、执行带参与无参存储过程的方法等,资料为作者参考网络资料整理...

Global site tag (gtag.js) - Google Analytics