练习:
drop table Employee;
create table Employee(
id number primary key,
uName varchar2(32) ,
dept_id int ,
salary number
);
insert into Employee (id ,uName, dept_id, salary ) values (1,'ZhangShan',null, 10000);
insert into Employee (id ,uName, dept_id, salary ) values (2,'LiShi',1, 8000);
insert into Employee (id ,uName, dept_id, salary ) values (3,'WangWu',2, 6000);
insert into Employee (id ,uName, dept_id, salary ) values (4,'ZhaoLiu',3, 4000);
insert into Employee (id ,uName, dept_id, salary ) values (5,'QianQi',4, 2000);
要求:
<1>使用自连接查出表中员工的姓名及其领导的姓名?
select a.ename,b.ename
from emp a inner join emp b
on a.mgr = b.empno ;
<2>使用外连接查出表中员工的姓名及其领导的姓名?
select a.ename,b.ename
from emp a inner join emp b
on a.mgr =b.empno(+) ;
<3> 用一条SQL语句实现
给 2 部门员工将工资降至原来 80%
给 4 部门员工将工资减至原来 70%
给 1 3 5 部门员工将工资涨至原来 150%
update emp set sal=decode(deptno,10,0.8*sal,20,0.7*sal,30,1.5*sal) ;
&nbs
很多朋友在Java开发中,使用Oracle数据库的时候,经常会碰到有ORA-01000: maximum open cursors exceeded.的错误。
实际上,这个错误的原因,主要还是代码问题引起的。
ora-01000: maximum open cursors exceeded.
表示已经达到一个进程打开的最大游标数。
这样的错误很容易出现在Java代码中的主要原因是:Java代码在执 ......
单表插入以insert into开头,不能有then into语句.
多表插入以insert first/all 开头,可以有then into语句
在Oracle操作过程中经常会遇到同时向多个不同的表插入数据,此时用该语句就非常合适。
All表示非短路运算,即满足了第一个条件也得向下执行查看是否满足其它条件,而First是短路运算找到合适条件就不向下进行。
I ......