我试图在DDL命令影响表的行数时执行方案,但执行alter命令总是返回0行。
a)表a有3列b,c,d,插入3条记录。
b)ALTER TABLE a DROP COLUMN b
删除列b不应该影响表中已有的行。
答案 0 :(得分:1)
简单来说,除了TRUNCATE
和DROP TABLE
之外,没有其他DDL
会影响表格中的数据(行)。
从技术上讲,DDL
应该触及架构对象而不是数据。 TRUNCATE将重置High WaterMark (HWM)
。并标记为块没有数据。 DROP TABLE
将完全删除元数据和与之关联的数据。
CREATE
as SELECT
是oracle特别提供的标准 SQL ,其中执行 DDL (CREATE
)首先使用结果集元数据(FROM SELECT
),然后加载数据!如果loadimg因任何原因失败,则该过程将暂停,并且不会创建任何对象!