视图和使用 SELECT INTO 创建的表之间的主要区别?
Key Differences Between Views and Created Tables Using SELECT INTO?
我了解视图只是保存的 SQL 查询,可以将其视为虚拟 table。但是,在我看来,使用 SELECT INTO 语句创建新的 table 与创建视图之间并没有太大区别。这两种方法之间的主要区别是什么?在什么情况下你会使用其中一种?
首先让我们认识到,根据您所说的视图,您并不是在谈论索引视图。因为这些实际上是在后台使用现有的 table 实现的。所以,我们谈论的是非索引视图。
这两种方法非常不同 - 事实上,它们没有任何共同点。这很奇怪,因为你们都提到:
- "view = only saved sql query"
- "into = creating new table"
这不是自相矛盾吗? select into
的结果实际上是一个table,一个视图不是
不确定您为什么要问这个问题或您想要完成什么。根据我的经验,我使用 select into 快速创建 logically 临时 tables,它们具有与原始列相同的列,而无需键入所有列。这种创建 tables 的方法通常不如 create table
命令和随后的插入,因为不能创建索引和其他内容 - 因此它用于即席查询或作为临时实体。
我了解视图只是保存的 SQL 查询,可以将其视为虚拟 table。但是,在我看来,使用 SELECT INTO 语句创建新的 table 与创建视图之间并没有太大区别。这两种方法之间的主要区别是什么?在什么情况下你会使用其中一种?
首先让我们认识到,根据您所说的视图,您并不是在谈论索引视图。因为这些实际上是在后台使用现有的 table 实现的。所以,我们谈论的是非索引视图。
这两种方法非常不同 - 事实上,它们没有任何共同点。这很奇怪,因为你们都提到:
- "view = only saved sql query"
- "into = creating new table"
这不是自相矛盾吗? select into
的结果实际上是一个table,一个视图不是
不确定您为什么要问这个问题或您想要完成什么。根据我的经验,我使用 select into 快速创建 logically 临时 tables,它们具有与原始列相同的列,而无需键入所有列。这种创建 tables 的方法通常不如 create table
命令和随后的插入,因为不能创建索引和其他内容 - 因此它用于即席查询或作为临时实体。