PL\SQL DML语句介绍


  • INSERT
    • INSERT命令可以插入一行,或者插入由SELECT语句创建的行集合。
    • 若不指定哪个值插入哪一列,就会依赖位置表示法。
    • 良好的编程习惯是不使用位置表示法。
  • UPDATE
    • 用来改变已经存在的行。
    • 影响一行或者行集合。
    • 影响集合的 范围由WHERE子句确定。
    • 单个更新命令不能影响多个表中的行。
    • UPTDAE命令遵循表定义的所有约束。
  • DELETE
    • 依据WHERE子句从表中删除一行或一组行。
    • 没有WHERE子句就会删除表中所有行。
  • TRUNCATE
    • DDL,不是用户事务。
    • 表中有任何活动的DML命令,DDL命令都会失败。
    • 重置高水位线。
      • 表的物理位置是保存在数据字段中表的定义的一部分。表创建时数据文件给表分配了固定空间。数据字典通过高水位线来跟踪空间使用多少,以下被使用,以上未被使用,重置高水位线到最初空间的开头,产生删除所有行的效果。
  • MERGE
    • 如果源数据(表、视图、子查询)中的行已经存在于目标表,那么可以更新( UPDATE )目标行,或者取代它,或者保持目标不变。如果源数据中的行不在目标表中,那么可以插入(INSERT)它。
    • 传递一次源数据,实现三种操作。
    • UPDATE或INSERT子句是可选的。
    • UPDATE子句后面可以跟DELETE子句来去除一些不需要的行。
    • UPDATE和INSERT子句可以加WHERE子句。
  • INSTER ALL
    • 使用一条语句将多行插入多个表。
    • 通过一次源数据,填充多个表,减轻数据库负担。
  • WITH
    • 可认为在真正进行查询之前预先构造了一个临时表TT,之后便可多次使用它做进一步的分析和处理。
    • 增加了SQL的易读性,如果构造了多个子查询,结构会更清晰;更重要的是:“一次分析,多次使用”,这也是为什么会提升性能的地方,达到了“少读”的目标。
  • DML语句失败
    • 语法错误
    • 引用不存在的对象或者列
    • 访问权限
    • 约束违背
    • 空间问题
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值