首页 > 解决方案 > 视图和使用 SELECT INTO 创建的表之间的主要区别?

问题描述

我知道视图只是一个保存的 SQL 查询,可以被视为一个虚拟表。但是,在我看来,使用 SELECT INTO 语句创建新表和创建视图之间没有太大区别。这两种方法之间的主要区别是什么?在什么情况下你会使用其中一种?

标签: sql-serverviewselect-into

解决方案


让我们首先承认通过您所说的视图,您不是在谈论索引视图。因为这些实际上是在后台使用现有表实现的。所以,我们谈论的是非索引视图。

这两种方法非常不同——事实上,它们没有任何共同之处。这很奇怪,因为你们都提到:

  • “查看 = 仅保存的 sql 查询”
  • “进入=创建新表”

这不是矛盾吗?结果select into实际上是一个表,一个视图不是。

不知道你为什么要问这个或你想要完成什么。根据我的经验,我使用 select into 快速创建逻辑临时表,这些表与原始表具有相同的列,而无需键入所有列。这种创建表的方法通常不如create table命令和随后的插入,因为不能创建索引和其他东西 - 因此它用于临时查询或作为临时实体。


推荐阅读