十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
以oracle自带的scott为例:
创新互联是一家专业提供沈北新企业网站建设,专注与成都做网站、成都网站制作、成都外贸网站建设、HTML5、小程序制作等业务。10年已为沈北新众多企业、政府机构等服务。创新互联专业网络公司优惠进行中。
1、select
t1.ename,t2.ename
as
mgrname,d.dname
from
scott.emp
t1,scott.emp
t2,scott.dept
d
where
t1.mgr=t2.empno
and
t2.deptno=d.deptno
2、select
d.*
from
scott.dept
d,(select
rownum
n,
tt.*
from
(select
count(*)
c,deptno
from
scott.emp
group
by
deptno
order
by
c
desc)
tt)t
where
t.n=1
and
t.deptno=d.deptno
3、select
*
from(select
t.*,dense_rank()over
(partition
by
deptno
order
by
sal)
r
from
scott.emp
t
where
deptno=30)
where
r=3
4、select
*
from(select
t.*,rank()over
(partition
by
n
order
by
sal)
r
from
(select
''
as
n,tt.*
from
scott.emp
tt)
t)
where
r
between
5
and
10
oracle的事务是以session开始登录后的第一条DML语句开始的,然后以DDL(drop,create,alter,rename等),TCL的rollback,commit,DCL(grant,revoke)结束。
当然你也可以手动设置事务属性,如只读事务或者顺序事务:
set transaction read only
set transaction isolation level SERIALIZABLE
BeginTrans用于开始一个事物;RollbackTrans用于回滚事务;CommitTrans用于提交所有的事务处理结果,即确认事务的处理
BeginTrans和CommitTrans 用于标记事务的开始和结束,在这两个之间的语句,就是作为事务处理的语句
事务是为了保证数据的完整性而设置的,在使用事务时,如果你是使用程序进行控制的话,一般都会自动提交事务的,需要手动进行事务的操作的是在进行批处理的时候,为了保证数据要么一起成功要么一起失败,在开始数据的插入或者删除之前,要把事务的自动提交改为false,然后才能执行相关的SQL语句,当SQL无异常全部执行完以后,再手动提交就可以了
登陆sqlplus,执行如下操作:
set serverout on;
begin
insert into zyb values('zy2002001','112201001','y001',10000,'张三','05-01-2002','05-04-2002','05-25-2002','作业公司作业一队','堵漏',7000,2500,1000,1400,11900,'李四','05-26-2002',11900,'王五','05-28-2002');
insert into clfb values('zy2002001','wm001',200,10);
insert into clfb values('zy2002001','wm002',200,10);
insert into clfb values('zy2002001','wm003',200,10);
insert into clfb values('zy2002001','wm004',100,10);
commit;
dbms_output.PUT_LINE('语句执行成功');
exception
when others then
rollback;
dbms_output.PUT_LINE('语句执行失败');
end;
/
事务的起始点为第一条insert/update/delete或者select for update语句 这样的一条或一组DML语句。
事务是以commit、rollback 显示提交事务;或者以DDL语句隐式的提交完成一个事务。