您好我正在尝试使用内部选择语句创建一个表...
例如:
CREATE TABLE JmxMonSer AS (SELECT * FROM services WHERE monitoring_enabled = 1);
但不断收到错误:
关键字“AS”,严重级15 附近的语法不正确
请咨询
答案 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;