【问题标题】:Key Differences Between Views and Created Tables Using SELECT INTO?视图和使用 SELECT INTO 创建的表之间的主要区别?
【发布时间】:2019-11-07 20:08:40
【问题描述】:

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

【问题讨论】:

  • 表和视图完全不同。视图不存储数据,它存储在其他地方。如果您更新基础表,那么视图上显示的数据也会;创建新表时不会发生这种情况。
  • 这里的上下文是什么?您是否正在尝试解决实际问题?还是想加深你的理解?
  • 这两个东西很像芒果和仓鼠。您正在询问两件事之间的差异,如此不同的列表几乎是无穷无尽的。现在找到这两件事之间的共同点。这是一个易于管理的列表,尽管非常短。

标签: sql-server view select-into


【解决方案1】:

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

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

  • “视图 = 仅保存的 sql 查询”
  • “into = 创建新表”

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-26
    • 1970-01-01
    • 2019-09-05
    • 1970-01-01
    相关资源
    最近更新 更多