055-20180224-【数据库学习】grant、commit、rollback

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

        继续坚持总结工作中的重难点问题,遇到不懂的问题及时查阅资料或请教前辈。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。My...
    黄花菜已凉阅读 4,608评论 3 60
  • MySQL技术内幕:InnoDB存储引擎(第2版) 姜承尧 第1章 MySQL体系结构和存储引擎 >> 在上述例子...
    沉默剑士阅读 7,494评论 0 16
  • 什么是数据库? 数据库是存储数据的集合的单独的应用程序。每个数据库具有一个或多个不同的API,用于创建,访问,管理...
    chen_000阅读 4,068评论 0 19
  • 太阳初升寒风劲,孤身离门别无缘。 弱小身子背囊压,只教何时能心安。 千里之行直担心,落家之时声最暧。
    徐一村阅读 220评论 0 2
  • 喜乐根植于无意义,哀伤等。 今早的感悟是,当我有不舒适的感受时,相对来说这时候我对喜乐的需求是更大的。因为这种感觉...
    邹小羊羊阅读 134评论 0 0