尝试从Select创建一个表 - SqL Server 2008抛出错误

时间:2012-08-13 18:52:40

标签: sql-server sql-server-2008 create-table

您好我正在尝试使用内部选择语句创建一个表...

例如:

CREATE TABLE JmxMonSer AS (SELECT * FROM services WHERE monitoring_enabled = 1);

但不断收到错误:

  关键字“AS”,严重级15

附近的

语法不正确

请咨询

4 个答案:

答案 0 :(得分:12)

我几乎肯定SQL Server没有CREATE TABLE AS (SELECT...语法,但您可以使用SELECT INTO

SELECT * 
INTO JmxMonSer
FROM services 
WHERE monitoring_enabled=1

检查MSDN documentation是否正确使用CREATE TABLE声明。

答案 1 :(得分:9)

怎么样:

SELECT * into JmxMonSer FROM services WHERE monitoring_enabled=1

如果表已经存在(并且列类型和排序对齐),您可以使用:

INSERT INTO JmxMonSer SELECT * FROM services WHERE monitoring_enabled=1

答案 2 :(得分:2)

以下语法用于使用子查询而不是使用静态表名... 因为有时候所需的结果集来自不同的查询..

SELECT * 
INTO JmxMonSer
From (SELECT * FROM services WHERE monitoring_enabled = 1) as X

答案 3 :(得分:1)

尝试使用SELECT INTO

SELECT *
INTO newtable [IN externaldb]
FROM table1;

src:http://www.w3schools.com/sql/sql_select_into.asp