select into 语法将创建一个新表以将数据插入其中(我知道类型可能不一致等,但它为您提供了一个粗略的副本)。
delete output into 语句是否也可以以相同的方式创建新表,而不必先定义表?
从来没听说过。该OUTPUT.. INTO
子句需要现有的表。
在相关说明中
根据具体情况,使用与orSELECT.. INTO
相对的词可能会产生负面影响。我认为您应该首先创建表的一些例子:INSERT INTO.. SELECT
OUTPUT.. INTO
如果您在事务内创建表,SQL Server 可能会在(部分)数据库模式上放置一个锁,这将阻止其他用户创建、更改或删除数据库对象。我假设这甚至可能会影响读取架构,例如在 Management Studio 的对象资源管理器中打开数据库。在事务外部创建表,然后在事务内部填充。
如果要为新表分配聚集索引,并且该聚集索引与填充查询的排序顺序相匹配,SELECT.. INTO
则会将表创建为堆(未排序),因此当您应用聚集索引后,SQL Server 将必须排序将表中的内容全部重述一遍。