删除到新表(如选择进入)

Nei*_*l P 5 sql-server t-sql

select into 语法将创建一个新表以将数据插入其中(我知道类型可能不一致等,但它为您提供了一个粗略的副本)。

delete output into 语句是否也可以以相同的方式创建新表,而不必先定义表?

Dan*_*her 4

从来没听说过。该OUTPUT.. INTO子句需要现有的表。

在相关说明中

根据具体情况,使用与orSELECT.. INTO相对的词可能会产生负面影响。我认为您应该首先创建表的一些例子:INSERT INTO.. SELECTOUTPUT.. INTO

  • 如果您在事务内创建表,SQL Server 可能会在(部分)数据库模式上放置一个锁,这将阻止其他用户创建、更改或删除数据库对象。我假设这甚至可能会影响读取架构,例如在 Management Studio 的对象资源管理器中打开数据库。在事务外部创建表,然后在事务内部填充。

  • 如果要为新表分配聚集索引,并且该聚集索引与填充查询的排序顺序相匹配,SELECT.. INTO则会将表创建为堆(未排序),因此当您应用聚集索引后,SQL Server 将必须排序将表中的内容全部重述一遍。