oracle函数 的 Oracle Delete

在本教程中,您将学习如何使用Oracle DELETE语句从表中删除一行或多行。

要从表中删除一行或多行,请按如下所示使用Oracle DELETE语句:

DELETE

FROM

table_name

WHERE

condition;

在这个语句中,

首先,指定要从中删除数据的表的名称。

其次,通过使用WHERE子句中的条件指定应该删除哪些行。如果省略了WHERE子句,则Oracle DELETE语句将从表中删除所有行。

请注意,使用语句删除大型表中的所有行会更快更高效。

Oracle DELETE示例

为了演示目的,这里创建一个名为sales的新表,其中包含所有销售订单数据:

DROP TABLE sales;

CREATE TABLE sales AS

SELECT

order_id,

item_id,

product_id,

quantity,

unit_price,

status,

order_date,

salesman_id

FROM

orders

INNER JOIN order_items

USING(order_id);

此语句将数据从中的orders和order_items表复制到创建的sales表中。

1. Oracle DELETE - 从表中删除一行

以下语句删除了一个订单号为1,项目号为1的行记录:

DELETE

FROM

sales

WHERE

order_id = 1

AND item_id = 1;

执行上面语句,Oracle返回了以下消息:

1 行已删除。

2. Oracle DELETE - 从表中删除多行

以下语句删除了订单号为1的所有行:

DELETE

FROM

sales

WHERE

order_id = 1;

执行上面语句,Oracle显示了以下消息:

12 行已删除。

3. Oracle DELETE - 删除表中的所有行

以下示例删除sales表中的所有行:

DELETE FROM sales;

执行上面语句,Oracle显示了以下消息:

625 行已删除。

4. Oracle删除 - 级联删除

在现实应用中,经常从与其他表中的行具有外键关系的表中来删除行记录。

例如,想要从orders表中删除id为1的销售订单,并从order_items表中删除与订单id是1关联的所有行项目。 通常可以发出两个DELETE语句,如下所示:

-- 第一条

DELETE FROM

orders

WHERE

order_id = 1;

-- 第二条

DELETE FROM

order_items

WHERE

order_id = 1;

COMMIT WORK;

请注意,COMMIT WORK语句确保两个DELETE语句以全部或全部方式执行,以防第一条语句成功,但第二个DELETE语句失败时在order_items表中的孤行。

但是,如果知道如何正确设置表的约束,那么这是不必要的。

在这种情况下,当创建order_items表时,可以使用DELETE CASCADE选项定义一个外键约束,如下所示:

CREATE TABLE order_items

(

order_id NUMBER( 12, 0 ) ,

-- other columns

-- ...

CONSTRAINT fk_order_items_orders

FOREIGN KEY( order_id )

REFERENCES orders( order_id )

ON DELETE CASCADE

);

通过这样做,每当从orders表中删除一行时,例如:

DELETE

FROM

orders

WHERE

order_id = 1;

order_items表中order_id为1的所有行也被数据库系统自动删除。

在本教程中,您已学习如何使用Oracle DELETE语句来删除指定表中行记录。

oracle函数删除语法,Oracle Delete相关推荐

  1. oracle无法删除em,Oracle 11g EM删除重建的方法

    虚拟机里的Oracle 11g好长时间没用了,突然打开之后发现EM无法访问了,EM可以重建,于是也不打算查找原因了,直接使大招 OS:Windows Server 2012 Oracle:11g R2 ...

  2. oracle fetch into语法,Oracle Fetch

    oracle函数 的 Oracle Fetch 在本教程中,将学习如何使用Oracle FETCH子句来限制查询返回的行数. Oracle FETCH子句简介 一些RDBMS(如和)使用子句来检索查询 ...

  3. oracle 函数插入操作,Oracle函数内部运用insert插入

    Oracle函数内部使用insert插入 create or replace function GET_PRODUCT_ID_BY_NAME(productName varchar2) return ...

  4. oracle数据库删除file,oracle数据库删除file

    一次快速闪回区满导致数据库不能启动的解决过程 一.事件背景描述:一个测试系统的数据库由于磁盘空间满了,清理了磁盘空间的,等待很久系统没有相应,因此通过shutdown immediate命令重新启动数 ...

  5. oracle hwm调整语法,Oracle 10g HWM原理及性能优化

    摘  要: HWM(High Water Mark)是表中已经使用过的存储空间与未使用过的存储空间之间的分界线,HWM对全表扫描的性能有非常大的影响.当全表扫描时,Oracle会读取HWM下所有的块, ...

  6. 转 Oracle 删除表,oracle 中删除表 drop delete truncate 的区别

    相同点,使用drop delete truncate 都会删除表中的内容 drop table 表名 delete from 表名(后面不跟where语句,则也删除表中所有的数据) truncate ...

  7. oracle中over 语法,Oracle语法之OVER(PARTITIONBY..)及开窗函数

    Oracle的分析函数over 及开窗函数一:分析函数overOracle从8.1.6开始提供分析函数,分析函数用于计算基于组的某种聚合值,它和聚 Oracle的分析函数over 及开窗函数 一:分析 ...

  8. oracle 的遍历语法,oracle pl/sql之pl/sql语法

    一.pl/sql基础 pl/sql分匿名块和命名块. 命名块:存储过程,函数,触发器,包等. pl/sql语句块分3部分: (1)声明部分 (2)可执行部分 (3)异常处理部分 其中可执行部分是语句块 ...

  9. oracle修改删除数据,[Oracle 错误修改删除数据后的恢复方法

    [Oracle ERP维护人员必备] 错误修改删除数据后的恢复方法 Oracle ERP维护人员工作再小心也难免会有在正式库中误删或者误改数据并且已经commit的情况发生,那么我就要用到 - Ora ...

最新文章

  1. Python学习--not语句
  2. 帮奶牛找对象?华为云AI黑科技大揭秘
  3. Git常用命令总结(超实用)
  4. 计算机视觉与深度学习 | SLAM之傻瓜书《 SLAM for Dummies》
  5. [十问] 软件基础知识
  6. P4245-[模板]任意模数多项式乘法
  7. POJ-1845 数论
  8. Java实体类去掉属性值空格
  9. 互联网日报 | 滴滴在上海开放自动驾驶服务;腾讯游戏年度发布会线上举行;微软宣布将永久关闭实体店...
  10. 如何有效地报告Bug
  11. 第一个vue项目——从0到1构建vue(一)
  12. imu预积分_VINS 中的 IMU 预积分推导和代码解读
  13. Bilinear Pairing双线性配对的解释
  14. python代码库-这7个开源的Python库,让你轻松代码分析
  15. 【OBS】OBS Studio 视频录制软件 的安装
  16. HTTP API 认证授权术
  17. mysql 三表联查_MySql的join(连接)查询 (三表 left join 写法)
  18. ASP.NET通过流方式导出EXCEL并且单元格换行
  19. 全球及中国汽车扬声器粘合剂行业市场发展状况与竞争格局分析报告2022-2028年
  20. 工作小妙招之将Excel中不同sheet中的数据按照相同属性进行合并

热门文章

  1. 有ai绘画工具免费的吗?这些软件实现ai绘画
  2. 2. 产品的主线与产品的爆点
  3. RAM、ROM、内存、存储、外存、硬盘的理解
  4. iOS开发_直播技术_前提准备
  5. 关于音频PA产生的TDD的debug思路
  6. 线程池ThreadPool中QueueUserWorkItem的使用
  7. quick框架事件分发机制
  8. 核心代码 | C++/C造就阳历万年历—C++
  9. 五步移相法matlab程序_四步移相法提取相位(相位解包裹)基础问题
  10. 相控阵天线(十):波束跃度、虚位技术、幅度相位误差分析(含代码)