天道酬勤,学无止境

关于 SELECT * FROM FINAL/OLD/NEW 表(About SELECT * FROM FINAL/OLD/NEW Table)

问题

我最近只知道这些类型的表 - 最终/旧/新。 但是,当我在网上搜索时,没有解释它的作用。 任何人都可以提供一些解释吗? 在什么情况下可以或不可以使用这些表。

回答1

看起来这是在执行 DML 语句时对 DB2 输出表的引用。 该行为类似于 SQL Server 中的 MERGE 语句,或者在触发器语句中使用 INSERTED/DELETED 输出表时。

>>-+-FINAL TABLE--(INSERT statement)---------------+------------>
   +-+-FINAL-+--TABLE--(searched UPDATE statement)-+   
   | '-OLD---'                                     |   
   +-OLD TABLE--(searched DELETE statement)--------+   
   '-FINAL TABLE--(MERGE statement)----------------'   

>--+--------------------+--------------------------------------><
   '-correlation-clause-'   

决赛桌

指定中间结果表的行表示在 SQL 数据更改语句完成时出现的由 SQL 数据更改语句更改的行集。 如果存在导致对作为 SQL 数据更改语句目标的表进行进一步操作的 AFTER 触发器,则返回错误。 如果 SQL 数据更改语句的目标是使用数据更改类型的 INSTEAD OF 触发器定义的视图,则返回错误。

旧桌子

中间结果表的行表示在应用 SQL 数据更改语句之前存在的受影响行集。

来自 IBM 知识中心

本文更详细地介绍了用法。 FINAL TABLE select 包含在 change 语句中,并允许您从中间结果表中进行选择:

SELECT * FROM FINAL TABLE (INSERT INTO MY_TABLE (COL1, COL2) VALUES (VALUE1, VALUE2))

语法示例

** 我通常不在 DB2 中工作,也没有验证此处提供的 SQL **

标签

受限制的 HTML

  • 允许的HTML标签:<a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • 自动断行和分段。
  • 网页和电子邮件地址自动转换为链接。

相关推荐
  • About SELECT * FROM FINAL/OLD/NEW Table
    I recently only aware of these types of table - FINAL/OLD/NEW. However, when I search online, there is no explanation on what it does. Can anyone provide some explanation? In what cases that these tables can or cannot be used.
  • CTF系列之Web——联合查询注入
    前言 在刚学习SQL注入的过程中非常艰难,查资料的时间有一周这么长,点开的网页也不下一千,认真读的也最少有两百,可是能引导入门的真的没几篇,都是复制来复制去的,没意思,感觉就是在浪费时间。有很多知识点都很散,很少能考到一片吧所有知识点总结在一块,最少也要三四个知识点也好呀,可惜太少了,大部分大佬写的都是基于他们现有的技术写的,写的很笼统,不适合新手看。可以发现很多大佬的文章看不懂就是这个原因,没有基础看的很懵的。所以我就想着写两三篇来总结我学习过的SQL注入知识点。 学习web系列推荐先学习MySQL、HTML这两个知识点,先学会怎么使用先,看文章就会更明白,可以去菜鸟教程学,也可以去bilibil找视频学习。 前文学习 [CTF系列自学篇]一、CTF是什么 [CTF系列自学篇]二、CTF系列之Web——SQL注入 编辑不易,转载请联系说明用途,并标记作者姓名和文章来源! 忘记说明一点,在学习SQL注入的时候记得先学习MYSQL。其实只要大概掌握一门语言,其它的语言都能快速掌握,只需要查询一下大概用法就好了。 SQL注入必知 信息收集 如果是在这里讲解会有许多人听不懂,所以就拿到下面配合例子进行讲解,方便大家理解。对以下的内容不是很懂得可以结合后面的栗子来了解。 MySQL系统函数 这些都是内置函数,可以用来查看信息的。 version() #MySQL版本 user()
  • 如何替换字符串中的奇数模式?(How I can replace odd patterns inside a string?)
    问题 我正在 SQL 中创建一个临时过程,因为我有一个用 Markdown 编写的表的值,所以它在 web 浏览器中显示为呈现的 HTML (markdown to HTML conversion) 。 列的字符串目前看起来像这样: Questions about **general computing hardware and software** are off-topic for Stack Overflow unless they directly involve tools used primarily for programming. You may be able to get help on [Super User](http://superuser.com/about) 我目前正在处理粗体和斜体文本。 这意味着(在粗体文本的情况下)我需要用<b>替换模式**奇数 N 次,用</b>替换偶数次。 我看到了 replace() 但它对字符串的所有模式执行替换。 那么只有当它是奇数或只有它是偶数时,我才能替换子字符串吗? 更新:有些人想知道我在使用什么模式,所以看看这里。 如果您愿意,还有一个额外的东西:到 html 超链接的降价样式超链接看起来并不那么简单。 回答1 使用STUFF函数和一个简单的WHILE循环: CREATE FUNCTION dbo.fn
  • 关于 AsEnumerable() 行为(About AsEnumerable() behavior)
    问题 我有一个 ASP.NET MVC 应用程序。 让我们假设我有这个观点: @model IEnumerable<MyClass> ..... 在服务器端,我使用 EF 对我的数据库进行了 linq 查询: public ActionResult Index() { var query = from t in context.MyClass select t; //now comes the question return View(query); return View(query.AsEnumerable()); //is there any difference? } 我认为 AsEnumerable() 不是必需的,因为查询会自动转换为它,所以,当 AsEnumerable() 有用时,有人可以解释一下吗? 谢谢! 回答1 这不是必要的。 您声明的查询会产生一个序列,该序列实现了IEnumerable接口。 正如您将在此处看到的,实现IEnumerable的类型的Select扩展方法返回一个IEnumerable 。 public static IEnumerable<TResult> Select<TSource, TResult>( this IEnumerable<TSource> source, Func<TSource, TResult> selector)
  • Oracle常见问题一千问
    Oracle常见问题一千问 ORACLE常见问题一千问 1. Oracle安装完成后的初始口令?  internal/oracle  sys/change_on_install  system/manager  scott/tiger  sysman/oem_temp 2. ORACLE9I AS WEB CACHE的初始默认用户和密码? administrator/administrator 3. oracle 8.0.5怎么创建数据库? 用orainst。如果有motif界面,可以用orainst /m 4. oracle 8.1.7怎么创建数据库? dbassist 5. oracle 9i 怎么创建数据库? dbca 6. oracle中的裸设备指的是什么? 裸设备就是绕过文件系统直接访问的储存空间 7. oracle如何区分 64-bit/32bit 版本? C:\>sqlplus sys/qaz@dagl as sysdba SQL*Plus: Release 10.1.0.2.0 - Production on 星期五 6月 3 13:47:47 2011 Copyright (c) 1982, 2004, Oracle. All rights reserved. Connected to: Oracle Database 10g Enterprise Edition
  • 公司DBA关于MySQL开发的一点经验
    尽量不要让数据库做过多运算数据库主要是用来存储的,我们应避免让数据库做运算,比如写定时任务,存储过程等。复杂的计算应该在程序代码中实现。我们应该尽量简单的使用数据库。控制数据量一年内单表数据量一般含char不超过500W条,我们需要合理的分表。单个库的表建议在300到400之间。单表字段数量单表的字段应该少而精,那多少合适呢?一般单表字段上线控制在20到50个。在开发中,我们要注意避免使用大SQL、大事务。避免使用NULL字段我发现很多童鞋在建表时喜欢字段默认NULL,使用NULL很难进行查询优化,我们如果对NULL列加索引,需要额外空间,而且含NULL的符合索引无效。`a` char(32) DEFAULT NULL`b` int(10) NOT NULL比如上面这种。少用TEXT我们可以使用VARCHAR代替TEXT,因为TEXT类型处理性能比VARCHAR要低,TEXT会强制生成临时表,从而浪费更多空间。UTF-8下,VARCHAR(65535)大概占用64K空间。如果一定要使用,就拆成单独的一张表吧。CREATE TABLE t1 ( id INT NOT NULL AUTO_INCREMENT, data text NOT NULL, PRIMARY KEY (id)) ENGINE=InnoDB;关于索引索引数量建议索引虽然能改善查询,但如果索引列更新频繁
  • 关于Android SQLite中的“ _id”字段(About “_id” field in Android SQLite)
    问题 Android SQLite中的字段“ _id”是否必需? 回答1 _id在使用使用游标的增强型适配器(例如ResourceCursorAdapter)时很有用。 这些适配器使用它提供一个ID,该ID可用于引用表中的特定行,该表将所使用的适配器所关联的项目相关联(例如,ListView中的行)。 如果不需要使用在游标中需要_id列的类,则没有必要,也可以使用“ as _id”使另一列看起来像在游标中被称为_id。 回答2 为什么不使用_ROWID_? SQLite无论如何都为每一行提供此功能,因此您可以在select语句中将其别名为_id。 回答3 从技术上讲,不需要字段_id ,但是,如果您正在使用CursorAdapter类(您可能正在使用它,尤其是在使用Notepad示例的情况下),则可以 “游标必须包含一个名为“ _id”的列,否则该类将不起作用” 如此处的文档所述。 不幸的是,这些代码示例并没有很清楚地说明这一点。 回答4 在许多情况下,拥有id字段非常方便。 我更喜欢将其自动递增(如下所示)。 我一直在寻找id字段的新用途:) 当需要将数据附加到适配器时,我喜欢使用表名别名来查询_id的id字段。 示例: SELECT id _id, msg from message order by id 。 这样,适配器将看到一个名为_id的字段,每个人都会很高兴。
  • 关于集合和排序的 Oracle 表表达式(Oracle table expression on collection and order)
    问题 我正在分析一些现有的 PL\SQL 代码,我可以看到 Oracle 集合在使用表表达式的查询中未嵌套的情况。 没有 order 子句,代码显然假定项目将按顺序返回,因为它们存储在集合中。 我知道如果没有“order by”,你不能假设 select 返回的项目的顺序,但在这种情况下它似乎有效。 示例代码: create type s_table as table of varchar2(100); select rownum, t.* from table(s_table('TERM1', 'TERM2', 'TERM3')) t 我应该担心并更改代码吗? 回答1 无 ORDER BY = 无订单保证 这里有一个例子证明了一个事实,即集合中元素的顺序不一定是元素在基于给定集合对象的其他查询中出现的顺序。 SQL> CREATE TYPE str_nestab_ty AS TABLE OF VARCHAR2(20); 2 / Type created. SQL> SELECT COLUMN_VALUE 2 FROM TABLE( 3 CAST 4 ( 5 MULTISET 6 ( 7 SELECT 'e10' AS strval FROM DUAL UNION 8 SELECT 'e07' AS strval FROM DUAL UNION 9 SELECT 'e04' AS
  • CTE 的 T-SQL 性能不佳(T-SQL bad performance with CTE)
    问题 我有一个关于 SQL Server 中公用表表达式的性能问题。 在我们的开发团队中,我们在构建查询时使用了很多链接 CTE。 我目前正在处理一个性能很差的查询。 但我发现,如果我在链的中间将所有记录插入到临时表中,然后继续但从该临时表中选择,我会显着提高性能。 现在我想得到一些帮助,以了解这种类型的更改是否仅适用于此特定查询,以及为什么您将在下面看到的两种情况在性能上有如此大的差异。 或者我们是否可能在我们的团队中过度使用 CTE,我们是否可以通过从这个案例中学习来提高整体性能? 请试着向我解释到底发生了什么...... 代码是完整的,您将能够在 SQL Server 2008 和 2005 上运行它。 一部分被注释掉了,我的想法是你可以通过注释掉一个或另一个来切换两种情况。 你可以看到在哪里放置你的块注释,我--block comment here用--block comment here和--end block comment here标记了这些地方 执行缓慢的情况是未注释的默认值。 给你: --Declare tables to use in example. CREATE TABLE #Preparation ( Date DATETIME NOT NULL ,Hour INT NOT NULL ,Sales NUMERIC(9,2) ,Items INT )
  • 关于mysql处理百万级以上的数据时如何提高其查询速度的方法
    实际项目中发现当mysql表的数据量达到百万级时,普通SQL查询效率呈直线下降,而且如果where中的查询条件较多时,其查询速度简直无法容忍。曾经测试对一个包含400多万条记录(有索引)的表执行一条条件查询,其查询时间竟然高达40几秒,相信这么高的查询延时,任何用户都会抓狂。因此如何提高sql语句查询效率,显得十分重要。以下是网上流传比较广泛的30种SQL查询语句优化方法: 1、应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描。2、对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。3、应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num is null可以在num上设置默认值0,确保表中num列没有null值,然后这样查询:select id from t where num=04、尽量避免在 where 子句中使用 or 来连接条件,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num=10 or num=20可以这样查询:select id from t where num=10union allselect id from t
  • 如何在sql的同一行中处理具有不同值的列?(How to go about a column with different values in a same row in sql?)
    问题 我的桌子有以下结构 empno empname loan ref amount 1 abc 123 100 1 abc 456 200. 即员工可以利用两笔贷款(比如汽车和踏板车)。 预期输出: empno empname loan ref1 amt loanref2 amt 1 abc 120 100 456 200 避免重复 empno 重复。 如何在 sql 中处理它??? 回答1 关于之前关于表格设计的评论——事实上,表格中存在冗余; 您可以将 empname 存储在另一个表中,您可以在此处将其与您的表连接以避免这种情况; 每一个冗余都是潜在的矛盾。 但是,如果我们有一个为查询和最小化必要连接而优化的表设计,它可能会从其他地方填充到批处理作业中,然后设计将是合适的。 您在这里要做的通常称为“水平旋转”。 我们这里缺少一些信息,所以我假设最大贷款数为 2。我们需要一种机制,允许我们将数据放入 col1 或 col2,具体取决于它是同一 empno 的第一行还是第二行。 这就是我们生成序列号的原因。 最后,我们将 SUM(CASE seq WHEN ...) 表达式与 GROUP BY 结合使用以减少行数并使表变平。 开始: -- first global table expression - the input table -- The table could
  • 【DB笔试面试86】设有如下关系表。。。供应者:SUPPLIER(SNO,SNAME,CITY)。。。
    Q 题目如下所示: 设有如下关系表供应者:SUPPLIER(SNO,SNAME,CITY),其中,SNO供应者编号,SNAME为供应者姓名,CITY所在城市零件:PART(PNO,PNAME,WEIGHT),其中,PNO零件号,PNAME零件名称,WEIGHT重量工程:JOB(JNO,JNAME,CITY),其中,JNO工程号,JNAME工程名,CITY所在城市联系关系:SPJ(SNO,PNO,JNO,QTY),其中,QTY为数量(1)查找给工程J1提供零件P1的供应者号SNO(2)查找在北京的供应者给武汉的工程提供零件的零件号(3)查找由供应者S1提供的零件名PNAME(4)查找CITY值为上海的工程号和名称(5)将工程J3的城市改为广州(6)将所有重20公斤的零件改为重10公斤(7)将给工程J1提供零件P1的供应者S1改为S2(8)将值(S3,凌涛,武汉)加到SUPPLIER中(9)删除所有上海工程的数据 A 答案如下所示: (1)查找给工程J1提供零件P1的供应者号SNO答案: SELECT SNO FROM SPJ,PART,JOB WHERE SPJ.PNO = PART.PNO AND SPJ.JNO = JOB.JNO AND PART.PNAME = 'P1' AND JOB.JNAME = 'J1';(2)查找在北京的供应者给武汉的工程提供零件的零件号答案:
  • 【DB笔试面试77】 有学生表(学号,姓名,所在系,年龄),找出系内学生平均年龄高于全体学生平均年龄的系信息,正确的语句是()
    Q 题目如下所示: 有学生表(学号,姓名,所在系,年龄),找出系内学生平均年龄高于全体学生平均年龄的系信息,正确的语句是()A、SELECT 所在系,AVG(年龄)FROM 学生表 WHERE AVG(年龄)>(SELECT AVG(年龄)FEOM 学生表);B、SELECT 所在系,AVG(年龄)FROM 学生表 WHERE AVG(年龄)>(SELECT AVG(年龄)FEOM 学生表) GROUP BY 所在系;C、SELECT 所在系,AVG(年龄)FROM 学生表 GROUP BY 所在系 HAVING AVG(年龄)>(SELECT AVG(年龄)FEOM 学生表);D、SELECT 所在系,(AVG年龄)FROM 学生表 GROUP BY 所在系 WHERE AVG年龄)>(SELECT AVG(年龄)FEOM 学生表); A 答案:C。 在分组查询中要用关键字GROUP,AVG()、SUM()等函数作为查询条件时,必须放在HAVING关键字后面,而不能用WHERE关键字。DB笔试面试历史连接 ⊙ 【DB笔试面试61】以下关于数据模型要求错误的是()⊙ 【DB笔试面试60】 关于E-R图的叙述正确的是()⊙ 【DB笔试面试59】以下关于视图叙述不正确的是()⊙ 【DB笔试面试58】SQL Server 2000 提供了完全备份、差异备份和日志备份等几种备份方法
  • 关于 SQL Server HierarchyID 深度优先性能的问题(Question about SQL Server HierarchyID depth-first performance)
    问题 我正在尝试在包含大约 50,000 行(将来会大幅增长)的表 (dbo.[Message]) 中实现hierarchyID。 但是,检索大约 25 个结果需要 30-40 秒。 根节点是一个填充符以提供唯一性,因此每个后续行都是该虚拟行的子行。 我需要能够遍历表深度优先,并已使hierarchyID 列 (dbo.[Message].MessageID) 成为聚类主键,还添加了一个计算 smallint (dbo.[Message].Hierarchy) 来存储节点的级别。 用法:.Net 应用程序将一个hierarchyID 值传递到数据库中,我希望能够检索该节点的所有(如果有)子节点和父节点(除了根,因为它是填充符)。 我正在使用的查询的简化版本: @MessageID hierarchyID /* passed in from application */ SELECT m.MessageID, m.MessageComment FROM dbo.[Message] as m WHERE m.Messageid.IsDescendantOf(@MessageID.GetAncestor((@MessageID.GetLevel()-1))) = 1 ORDER BY m.MessageID 据我了解,应该在没有提示的情况下自动检测索引。
  • 【DB笔试面试57】下列关于SQL语言特点的描述中,哪些是正确的?()(多选题)
    Q 题目如下所示: 关系数据库标准语言SQL是一个综合的、通用的、功能极强同时又简洁易学的语言。下列关于SQL语言特点的描述中,哪些是正确的?()(多选题)A、分为模式数据定义语言、外模式数据定义语言、与存储有关的描述语言以及数据操纵语言B、它可以定义关系模式、录入数据、查询、更新、维护、数据库重构、数据库安全控制等一系列操作要求C、是一种采用面向记录的操作方式的语言D、既是自含式语言,又是嵌入式语言E、具有数据查询、数据定义、数据操纵和数据控制功能 A 答案:B、D、E。 SQL(Structure Query Language,结构化查询语言)是一种在关系型数据库中定义和操纵数据的标准语言。关系型数据库采用结构化查询语言即SQL作为客户端程序与数据库服务器间沟通的标准接口——客户端发送SQL指令到服务器端,服务器端执行相关的指令并返回其查询的结果。在数据库服务器端执行的SQL指令可以实现各种数据库操作和管理功能,例如:数据的查询和更新(包括添加、修改和删除数据)操作;创建、修改和删除各种数据库对象(如数据表、视图、索引等);数据库用户账户管理、权限管理等。关系数据语言的共同特点是:语言具有完备的表达能力,是非过程化的集合操作语言,功能强,能够嵌入高级语言中使用。表 2-9 SQL语言分类表分类简介示例DML数据操纵语言(Data Manipulation Language
  • 【DB笔试面试85】设教学数据库中有三个基本表。。。下面的题目都是针对上述三个基本表操作的。
    Q 题目如下所示: 设教学数据库中有三个基本表:学生表S(S#,SNAME,AGE,SEX),其属性表示学生的学号、姓名、年龄和性别;选课表SC(S#,C#,GRADE),其属性表示学生的学号、所学课程的课程号和成绩;课程表C(C#,CNAME,TEACHER),其属性表示课程号、课程名称和任课教师姓名。下面的题目都是针对上述三个基本表操作的。(1)试写出下列插入操作的SQL语句:把SC表中每门课程的平均成绩插入到另一个已存在的表SC_C(C#,CNAME,AVG_GRADE)中,其中,AVG_GRADE为每门课程的平均成绩。(2)试写出下列删除操作的SQL语句:从SC表中把WU老师的女学生选课元组删去。 A 答案如下所示: (1)答案: INSERT INTO SC_C( C#,CNAME,AVG_GRADE ) SELECT SC.C#, C.CNAME, AVG(GRADE) FROM SC, C WHERE SC.C#=C.C#;(2)答案: DELETE FROM SC WHERE S# IN (SELECT S# FROM S WHERE SEX='女') AND C# IN (SELECT C# FROM C WHERE TEACHER='WU');DB笔试面试历史连接 ⊙ 【DB笔试面试74】下列关于锁的说法错误的是()⊙ 【DB笔试面试73
  • shardingjdbc_学习笔记
    sharding_jdbc_学习笔记 事务一致性问题(分表产生的跨节点带来的)跨节点更新跨节点查询 垂直与水平拆分扫盲分库分表带来问题 解析路由bindingTablebinding配置绑定表不产生笛卡尔积无笛卡尔积主表在前以主表为主 不绑定则会产生笛卡尔积 hint指定库表获得表分布时间滚动时间滚动的几种形式代码结构 改写正确性改写优化性改写 执行-连接的管理内存限制模式(OLAP)连接限制模式(OLTP)maxConnectionsSizePerQuery 结果集归并流式结果集装饰者归并????group分组归并 雪花算法配制配制分片算法inline的spring配置标准standard的spring配置复杂complex的spring配置hint的spring配置default的默认配置打印日志 配置单表多表配置单库单表配置单库多表配置多库多表配置多库多表读写分离 不支持SQL换数据源应用得注意的点SQL语句中别使用schema分页的性能优化不支持的SQLCASE WHEN ,HAVING,UNION(ALL)特殊的子查询子查询中包含数据表的子查询子查询上包含聚合函数不支持非默认库下的单库单表子查询支持 分片键在聚合函数或运算表达式,会全表扫关于distinct
  • 面试官经常问的MYSQL面试(一)
    1、MySQL数据库四种特性,不包括()A.原子性B.事务性C.一致性D.隔离性 2、MySQL报错error 1062 的意思是()A.连接数据库失败,没有连接数据库的权限B.字段值重复,入库失败C.未定义用户对数据表的访问权限D.删除数据库文件失败 3、MySQL主从架构如下:主库 从库 192.169.1.1 192.168.1.2需要在从库上采用mysqldump备份并记录主库binlog、Position点,需要加哪个参数(不考虑其他参数)()A.--master-dateB.--single-transactionC.--dump-slaveD.--opt 4、以下哪个不能有效减小从库延迟时间()A.主库进行update操作时where后条件没有索引,添加索引B.主库有大事物,增加缓存,异步写入数据库,减少直接对db的大量写入C.主库并发更新写入频繁,从库设置innodb_flush_log_at_trx_commit=1及sync_binlog=1D.数据库中存在大量myisam表,修改表结构为innodb存储引擎的表 5、表test(a int,b int,time date)涉及以下3条sql:select * from test where a=1 and b=1;select * from test where b=1;select * from test
  • 关于dual表的破坏性测试
    关于dual表的破坏性测试,既然是破坏性测试,就需要确定这个测试仅限于测试或者个人学习所用,可能有些sql看似极为简单,但是一旦运行就会导致整个业务系统崩溃。 比如说我们拿dual表开刀,这个表是一个dummy表,里面的内容没有特定的意义,就是为了存在而存在。但是一旦这个表出现问题,所有相关的基础操作都会受到影响,后果不敢想象。 来简单模拟一下,在个人的机器上开始做下面的尝试,drop 表dual SQL> show user USER is "SYS" SQL> SQL> show parameter insta NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ active_instance_count integer cluster_database_instances integer 1 instance_groups string instance_name string TEST01 instance_number integer 0 instance_type string RDBMS open_links_per_instance integer 4 parallel_instance_group string
  • 关于dual表的破坏性测试
    关于dual表的破坏性测试,既然是破坏性测试,就需要确定这个测试仅限于测试或者个人学习所用,可能有些sql看似极为简单,但是一旦运行就会导致整个业务系统崩溃。 比如说我们拿dual表开刀,这个表是一个dummy表,里面的内容没有特定的意义,就是为了存在而存在。但是一旦这个表出现问题,所有相关的基础操作都会受到影响,后果不敢想象。 来简单模拟一下,在个人的机器上开始做下面的尝试,drop 表dual SQL> show user USER is "SYS" SQL> SQL> show parameter insta NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ active_instance_count integer cluster_database_instances integer 1 instance_groups string instance_name string TEST01 instance_number integer 0 instance_type string RDBMS open_links_per_instance integer 4 parallel_instance_group string