Oracle同义词、事务、锁

1.同义词

同义词是Oracle给数据库中的对象取的另一个名字,类似于sql语句中的别名,但是和别名又有区别,别名只使用在sql语句中,同义词是保存在数据库, 一次创建可以一直使用,同义词使用和使用原对象完一样,可以给表、视图等起同义词

同义词共有两种类型,公有同义词可被所有的数据库用户访问;私有同义词只能在其模式内访问,且不能与当前模式的对象同名。

--创建同义词语法:
create [public] synonym synonym_name for object;
    create synonym:synonym是同义词的关键字
    synonym_name:同义词名称
    object:取同义词的对象,可以是表、视图等
    
--给emp表创建同义词e
create synonym e for emp;
--创建或替换现有的同义词
CREATE OR REPLACE SYNONYM emp_syn FOR SCOTT.emp;
--删除同义词
DROP SYNONYM emp; 
DROP PUBLIC SYNONYM emp_syn; 

2.事务

事务是作为单个逻辑工作单元执行的一系列操作,这些操作作为一个整体一起向系统提交,要么都执行、要么都不执行。

事务是一个不可分割的工作逻辑单元,它必须具备以下属性:原子性、一致性、隔离性、永久性。

commit  --事务提交
rollback    --事务回滚
savepoint   --声明保存点
显式事务:
   1.set autocommit off --关闭事务的自动提交
   2.手动调用commit和rollback
隐式事务:
   1.set autocommit on --打开事务自动提交
   2.create、drop、grant等操作事务是自动提交
   3.每一个insert、update、delete执行后都会提交到数据库

3.锁

锁是数据库用来控制共享资源并发访问的机制。

比如保护正在被修改的数据,直到提交或回滚了事务之后,其他用户才可以更新数据。

锁的类型有行级锁、表级锁两种:

行级锁是一种排他锁,防止其他事务修改此行。在使用update, delete, select...for update语句时,Oracle会自动应用行级锁。使用COMMIT或ROLLBACK语句释放锁

表级锁会锁定整个表,限制其他用户对表的访问。使用命令显示的锁定表,应用表级锁的语法是:LOCK TABLE table_name IN mode MODE;

行共享 (ROW SHARE) – 禁止排他锁定表

行排他(ROW EXCLUSIVE) – 禁止使用排他锁和共享锁

共享锁(SHARE) - 锁定表,仅允许其他用户查询表中的行;禁止其他用户插入、更新和删除行;多个用户可以同时在同一个表上应用此锁

共享行排他(SHARE ROW EXCLUSIVE) – 比共享锁更多的限制,禁止使用共享锁及更高的锁

排他(EXCLUSIVE) – 限制最强的表锁,仅允许其他用户查询该表的行。禁止修改和锁定表

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

特亿安

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值