2

当我看到以下内容时,我有点惊讶:

CREATE TEMPORARY TABLE X (ID int) AS SELECT NumColumn FROM Table

我试图用谷歌搜索它,但只发现使用它作为别名。这个用途究竟是什么?我感到有点困惑,因为我愚蠢地创建了临时表,然后使用 insert..

谢谢

4

3 回答 3

3

它是如何创建临时表并使用选择查询的结果填充它的。

您可以在 CREATE TABLE 规范最底部的文档中看到它

选择语句:
[忽略 | REPLACE] [AS] SELECT ...(一些合法的选择语句)

于 2010-03-18T16:06:41.747 回答
1

这将为您创建一个临时表,但请记住,这不会带来您在原始表上的任何索引。因此,有时最好使用创建表定义的完整副本

create table x like y; 

由于这只会创建一个 EMPTY 表,因此您还需要运行

insert into x (col1) select col1 from y;
于 2010-03-18T19:05:46.480 回答
1

CREATE TABLE (table name) AS SELECT * FROM (existing table name);

此命令用于将整个表复制到另一个表;

于 2012-03-04T07:09:57.117 回答