2

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

例如:

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

但不断收到错误:

关键字“AS”附近的语法不正确,严重性 15

请指教

4

4 回答 4

13

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

SELECT * 
INTO JmxMonSer
FROM services 
WHERE monitoring_enabled=1

检查MSDN 文档CREATE TABLE以了解该语句的正确用法。

于 2012-08-13T18:55:42.203 回答
10

怎么样:

SELECT * into JmxMonSer FROM services WHERE monitoring_enabled=1

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

INSERT INTO JmxMonSer SELECT * FROM services WHERE monitoring_enabled=1
于 2012-08-13T18:54:52.623 回答
2

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

SELECT * 
INTO JmxMonSer
From (SELECT * FROM services WHERE monitoring_enabled = 1) as X
于 2014-06-16T09:21:45.313 回答
1

尝试使用SELECT INTO

SELECT *
INTO newtable [IN externaldb]
FROM table1;

来源:http : //www.w3schools.com/sql/sql_select_into.asp

于 2013-08-13T00:17:17.763 回答