可以执行DDL命令,例如alter query会影响表的行吗?

时间:2014-01-09 06:05:31

标签: database oracle postgresql

我试图在DDL命令影响表的行数时执行方案,但执行alter命令总是返回0行。

a)表a有3列b,c,d,插入3条记录。

b)ALTER TABLE a DROP COLUMN b

删除列b不应该影响表中已有的行。

1 个答案:

答案 0 :(得分:1)

简单来说,除了TRUNCATEDROP TABLE之外,没有其他DDL会影响表格中的数据(行)。

从技术上讲,DDL应该触及架构对象而不是数据。 TRUNCATE将重置High WaterMark (HWM)。并标记为块没有数据。 DROP TABLE将完全删除元数据和与之关联的数据。

CREATE as SELECT是oracle特别提供的标准 SQL ,其中执行 DDL CREATE)首先使用结果集元数据(FROM SELECT),然后加载数据!如果loadimg因任何原因失败,则该过程将暂停,并且不会创建任何对象!