O
今天上午趁着下午的任务还没有布置,继续总结平时脚本编写时所用到的自己还没有掌握的知识点,主要包括:grant命令、commit命令以及rollback命令。
R
下午就要开始新的任务了,怎么说呢,有点紧张又有点期待,希望自己能顺利完成吧。
I
这三个知识点的介绍及具体使用方法如下:
1.grant命令
grant权限用来授权进行数据模式访问,可以用于对对象权限和系统权限的操作。其基本语法为:
grant privilege on object to grantee [with grant option]
其中,privilege表示所需的权限,object是被授予权限可以进行访问的对象,grantee是需要接收该权限的用户。如果授予了with grant option,则该grantee可以依次向其他用户进行授权。在一个grant语句中也可以指定多个权限,举例说明,对于以下语句:grant select,update on tableA to userA;表示将tableA表的select,update操作权限赋给userA。
2.commit命令
oracle中的commit是提交数据,在未提交前的操作更新的都是内存,即没有更新到物理文件中。只有当数据库发出commit命令,事物才会被终结,并且:
事物完成的所有工作都是永久性的(permanent)。
其他的会话可以看到此事务所进行的修改。
事务所需要执行的所有加锁(lock)处理都被释放了。
其具体语法为:commit [work];其中work关键字用来提高可读性。当我们commit一个事务以前,只有执行该事务的对话才看得到自己的修改,而commit这个事务后其他会话才能看到该修改。一般DML 数据操作语言需要使用commit命令,例如insert将记录插入到数据库 、update修改数据库的记录 、delete删除数据库的记录。当我们开表插入(编辑)数据时,在修改之后,也需要点击pl/sql右上角工具栏的“提交”图标,其本质就是commit命令。
3.rollback命令
rollback用于存放数据修改之前的值(包括数据修改之前的位置和值)。当对数据库执行rollback语句时,该事务就被终结,并且:
事务完成的所有工作都被取消(undo)。
事务所需要执行的所有加锁(lock)处理都被释放了。
其具体语法为:rollback [work];其中work关键字也是可选的,用来提高可读性。当程序检测出脚本的错误而不能继续运行时,通常会显式使用rollback语句;当会话断开与数据库的连接时,如果没有使用commit或rollback终止当前事务时,该事务会被数据库撤销。
D
继续坚持总结工作中的重难点问题,遇到不懂的问题及时查阅资料或请教前辈。