dml oracle查看表修改记录_oracle 记录表dml数的视图 - CSDN
精华内容
参与话题
  • 查询的 select * from all_tab_modifications; select * from dba_tab_modifications; select * from user_tab_modifications; 转载于:https://www.cnblogs.com/kevinlucky/p/8288791.html...

    查询的表

    select * from all_tab_modifications;
    select * from dba_tab_modifications;
    select * from user_tab_modifications;

     

    转载于:https://www.cnblogs.com/kevinlucky/p/8288791.html

    展开全文
  • oracle中DDL和DML指什么?

    千次阅读 2011-07-26 09:33:16
    【DDL】 create table 创建 alter table 修改表 drop table 删除 truncate table 删除中所有行 create index 创建索引 drop index 删除索引当执行DDL语句时,在每一条语句前后,oracle都将提交当前的事务。...
    【DDL】 
      
    create table 创建表   
    alter table  修改表  
    drop table 删除表  
    truncate table 删除表中所有行   
    create index 创建索引  
    drop index  删除索引
    当执行DDL语句时,在每一条语句前后,oracle都将提交当前的事务。
    
    如果用户使用insert命令将记录插入到数据库后,执行了一条DDL语句(如create table),此时来自insert命令的数据将被提交到数据库。
    
    当DDL语句执行完成时,DDL语句会被自动提交,不能回滚。
    
    
    【DML】
    
    insert 将记录插入到数据库
    update 修改数据库的记录
    delete 删除数据库的记录
    当执行DML命令如果没有提交,将不会被其他会话看到。
    
    除非在DML命令之后执行了DDL命令或DCL命令,或用户退出会话,或终止实例,
    
    此时系统会自动发出commit命令,使未提交的DML命令提交。
    
    展开全文
  • oracle什么时候需要commit

    万次阅读 多人点赞 2012-06-05 10:37:17
    今天在oracle的SQL plus 中执行了删除和查询操作,然后在PL/SQL中也执行查询操作,语句一样,结果却不一样,让...DML语言,比如update,delete,insert等修改表中数据的需要commit; DDL语言,比如create,drop等改变

    今天在oracle的SQL plus 中执行了删除和查询操作,然后在PL/SQL中也执行查询操作,语句一样,结果却不一样,让我大感郁闷,后来才突然想到可能是两边数据不一致造成的,但是为什么不一致呢,就是没用commit,

    在网上查了一下,大概是这样说的:

    DML语言,比如update,delete,insert等修改表中数据的需要commit;
    DDL语言,比如create,drop等改变表结构的,就不需要写commit(因为内部隐藏了commit);


    DDL 数据定义语言:
    create table 创建表  
    alter table 修改表  
    drop table 删除表  
    truncate table 删除表中所有行  
    create index 创建索引  
    drop index 删除索引
    当执行DDL语句时,在每一条语句前后,oracle都将提交当前的事务。如果用户使用insert命令将记录插入到数据库后,执行了一条DDL语句(如create
    table),此时来自insert命令的数据将被提交到数据库。当DDL语句执行完成时,DDL语句会被自动提交,不能回滚。

    DML 数据操作语言:
    insert 将记录插入到数据库 
    update 修改数据库的记录 
    delete 删除数据库的记录
    当执行DML命令如果没有提交,将不会被其他会话看到。除非在DML命令之后执行了DDL命令或DCL命令,或用户退出会话,或终止实例,此时系统会自动
    发出commit命令,使未提交的DML命令提交。


    DDL  :
    Data Definition Language (DDL) statements are used to define the database structure or schema. Some examples:

    CREATE - to create objects in the database

    ALTER - alters the structure of the database

    DROP - delete objects from the database

    TRUNCATE - remove all records from a table, including all spaces allocated for the records are removed

    COMMENT - add comments to the data dictionary

    RENAME - rename an object

    DML:

    Data Manipulation Language (DML) statements are used for managing data within schema objects. Some examples:

    SELECT - retrieve data from the a database

    INSERT - insert data into a table

    UPDATE - updates existing data within a table

    DELETE - deletes all records from a table, the space for the records remain

    MERGE - UPSERT operation (insert or update)

    CALL - call a PL/SQL or Java subprogram

    EXPLAIN PLAN - explain access path to data

    LOCK TABLE - control concurrency

    DCL

    Data Control Language (DCL) statements. Some examples:

    GRANT - gives user's access privileges to database

    REVOKE - withdraw access privileges given with the GRANT command

    TCL

    Transaction Control (TCL) statements are used to manage the changes made by DML statements. It allows statements to be grouped together into logical transactions.

    COMMIT - save work done

    SAVEPOINT - identify a point in a transaction to which you can later roll back

    ROLLBACK - restore database to original since the last COMMIT

    SET TRANSACTION - Change transaction options like isolation level and what rollback segment to use

    锁概念基础


    数据库是一个多用户使用的共享资源。当多个用户并发地存取数据时,在数据库中就会产生多个事务同时存取同一数据的情况。若对并发操作不加控制就可能会读取和存储不正确的数据,破坏数据库的一致性。

    加锁是实现数据库并发控制的一个非常重要的技术。当事务在对某个数据对象进行操作前,先向系统发出请求,对其加锁。加锁后事务就对该数据对象有了一定的控制,在该事务释放锁之前,其他的事务不能对此数据对象进行更新操作。

    在数据库中有两种基本的锁类型:排它锁(Exclusive Locks,即X锁)和共享锁(Share Locks,即S锁)。当数据对象被加上排它锁时,其他的事务不能对它读取和修改。加了共享锁的数据对象可以被其他事务读取,但不能修改。数据库利用这两种基本的锁类型来对数据库的事务进行并发控制。



    Oracle数据库的锁类型

    根据保护的对象不同,Oracle数据库锁可以分为以下几大类:DML锁(data locks,数据锁),用于保护数据的完整性;DDL锁(dictionary locks,字典锁),用于保护数据库对象的结构,如表、索引等的结构定义;内部锁和闩(internal locks and latches),保护数据库的内部结构。

    DML锁的目的在于保证并发情况下的数据完整性,。在Oracle数据库中,DML锁主要包括TM锁和TX锁,其中TM锁称为表级锁,TX锁称为事务锁或行级锁。

    当Oracle 执行DML语句时,系统自动在所要操作的表上申请TM类型的锁。当TM锁获得后,系统再自动申请TX类型的锁,并将实际锁定的数据行的锁标志位进行置位。这样在事务加锁前检查TX锁相容性时就不用再逐行检查锁标志,而只需检查TM锁模式的相容性即可,大大提高了系统的效率。TM锁包括了SS、SX、S、X 等多种模式,在数据库中用0-6来表示。不同的SQL操作产生不同类型的TM锁。

    在数据行上只有X锁(排他锁)。在 Oracle数据库中,当一个事务首次发起一个DML语句时就获得一个TX锁,该锁保持到事务被提交或回滚。当两个或多个会话在表的同一条记录上执行 DML语句时,第一个会话在该条记录上加锁,其他的会话处于等待状态。当第一个会话提交后,TX锁被释放,其他会话才可以加锁。

    当Oracle数据库发生TX锁等待时,如果不及时处理常常会引起Oracle数据库挂起,或导致死锁的发生,产生ORA-60的错误。这些现象都会对实际应用产生极大的危害,如长时间未响应,大量事务失败等。

    展开全文
  • DML语言,比如update,delete,insert等修改表中数据的需要commit; DDL语言,比如create,drop等改变结构的,就不需要写commit(因为内部隐藏了commit); DDL 数据定义语言: create table 创建 alter table ...
    参考一下说明:少了一个commit语句。
    DML语言,比如update,delete,insert等修改表中数据的需要commit;
    DDL语言,比如create,drop等改变表结构的,就不需要写commit(因为内部隐藏了commit);
    
    DDL 数据定义语言:
    create table 创建表   
    alter table 修改表   
    drop table 删除表   
    truncate table 删除表中所有行   
    create index 创建索引   
    drop index 删除索引
    当执行DDL语句时,在每一条语句前后,oracle都将提交当前的事务。如果用户使用insert命令将记录插入到数据库后,执行了一条DDL语句(如create
    table),此时来自insert命令的数据将被提交到数据库。当DDL语句执行完成时,DDL语句会被自动提交,不能回滚。
    
    DML 数据操作语言:
    insert 将记录插入到数据库  
    update 修改数据库的记录  
    delete 删除数据库的记录
    当执行DML命令如果没有提交,将不会被其他会话看到。除非在DML命令之后执行了DDL命令或DCL命令,或用户退出会话,或终止实例,此时系统会自动
    发出commit命令,使未提交的DML命令提交。
    Oracle数据库里面有DCL语句(Data Control Language),一共有四个关键字,commit、rollback、grant和revoke。它们执行的时候,你都不会有什么感觉。commit在数据库编程的时候很常用,当你执行DML操作时,数据库并不会立刻修改表中数据,这时你需要commit,数据库中的数据就立刻修改了,如果在没有commit之前,就算你把整个表中数据都删了,如果rollback的话,数据依然能够还原。
    oracle的commit就是提交数据(这里是释放锁不是锁表),在未提交前你前面的操作更新的都是内存,没有更新到物理文件中。
    执行commit从用户角度讲就是更新到物理文件了,事实上commit时还没有写date file,而是记录了redo log file,要从内存写到data物理文件,需要触发检查点,由DBWR这个后台进程来写,这里内容有点多的,如果不深究的话你就理解成commit即为从内存更新到物理文件。

    展开全文
  • 需求:公司一系统升级,要维护的数据库中已有数据,该没有序列、触发器等。此要直接插入一些数据,插入的数据为了和以前的数据兼容(就是一样)。该主键的生成以前是在代码中分两步进行的,即查询、更新(现在...
  • oracle 查询中数据行(row)上最后的DML时间  2011-07-27 13:01:53| 分类: ORACLE 数据库杂|字号 订阅 oracle 查询中数据行(row)上最后的DML时间 在这介绍oracle 10G开始提供的一个伪列ORA_ROWSCN...
  • Oracle数据库中的锁

    千次阅读 2019-04-08 21:27:50
    数据库锁 数据库是一个多用户使用的共享资源。当多个用户并发地存取数据时,在数据库中就会产生多个事务同时存取同一数据的...当数据对象被加上排它锁时,其他的事务不能对它读取和修改;加了共享锁的数据对象可...
  • [转]oracle对数据操作何时需要commit

    千次阅读 2014-08-28 16:02:45
    DML语言,比如update,delete,insert等修改表中数据的需要commit; DDL语言,比如create,drop等改变结构的,就不需要写commit(因为内部隐藏了commit); DDL 数据定义语言: create table 创建 alter ...
  • ORACLEDML操作过程

    千次阅读 2013-08-02 16:16:37
    DML操作,oracle所有进程配合执行的过程成! 用户将DML操作的语句通过进程传输给sga中的buffer cache,然后在buffer cache中对所更改的数据块进行更新操作, 然后首先由logwr进程将此操作前的数据库传输给undo,将...
  • oracleDML,DDL,DCL操作简介

    千次阅读 2018-07-03 15:40:07
    DML(Data Manipulation Language,数据操作语言):用于检索或者修改数据。 DML包括: SELECT:用于检索数据; INSERT:用于增加数据到数据库; UPDATE:用于从数据库中修改现存的数据 DELETE:用于从数据库中...
  • Oracle 事务的开始与结束

    千次阅读 2015-08-20 11:48:47
    连接到数据库上,并执行了第一天 DML 语句; 当前一个事务结束后,又输入了另外一条 DML 语句; 当下列事件之一发生时,事务就结束了: 执行 COMMIT 或 ROLLBACK语句;执行一条 DLL语句,例如 CREATE TABLE 语句...
  • 关于oracle的锁的级别以及介绍

    千次阅读 2018-05-15 15:40:33
    关于oracle的锁的级别以及介绍 (2015-03-21 22:52:25)转载▼标签: 股票分类: oracle语句oracle造成锁的情况:一、查看锁的对象视图:select object_id,session_id,locked_mode from v$locked_object;...
  • oracle 学习笔记 - commit和rollback

    千次阅读 2017-08-21 14:43:10
    COMMIT 是提交你的DML操作.ROLLBACK 是取消你的DML操作....1、首先commit和rollback是在进行insert、update、delete语句完成后需要做的操作(即对表中的记录进行修改),而select则不需要。为了防止你的操作有误
  • 数据操作语言 (DML) 语句

    千次阅读 2013-11-12 23:34:36
    数据操作语句(DML)语句在已存在的模式对象进行访问和操作数据。DML语句不会隐私提交当前事务。以下是数据操作语言语句: CALL DELETE EXPLAIN PLAN INSERT LOCK TABLE MERGE SELECT UPDATE SELECT语句是...
  • Oracle数据库在线备份相关原理描述1 概述文章主要是从Oracle数据库的基本原理开始的,讨论Oracle数据库在线备份原理及利用这些相关原理作为Oracle数据库的远程复制提供一种方法,也就是Oracle远程备份的实现。...
  • DDL和DML

    2017-01-02 00:29:16
    alter table 修改表 drop table 删除 truncate table 删除中所有行 create index 创建索引 drop index 删除索引当执行DDL语句时,在每一条语句前后,oracle都将提交当前的事务。如果用户使用insert命令
  • 首先你要了解什么叫做 “事务 transcation ” :一个事务包含一个或多个DML...当用户对数据进行修改时(DML操作),oracle会给数据分配两个 锁 ,一个是行排他锁 另一个是共享锁行排他锁:如果A用户对某个的某一行
  • oracleDML,DCL语句自动提交

    千次阅读 2012-05-27 19:47:17
    DML,DCL语句自动提交 1.在scott用户下建立一张 create table test1 (id number,name varchar(20)); SQL> create table test1 (id number,name varchar(20)); 已创建。 2.插入两条记录到scott中不提交...
1 2 3 4 5 ... 20
收藏数 37,684
精华内容 15,073
关键字:

dml oracle查看表修改记录