0

我是 SQL 和 SQL Server 的新手,没有任何 IT 知识。然而,我尝试学习 SQL Server 只是出于对它的热爱。我的问题很简单。我在使用 sql 代码创建表时遇到问题。我想创建一个new_table从另一个表命名的表old_table。我的代码是:

CREATE TABLE new_table
AS (SELECT * FROM old_table) 

但它给出了以下错误:Msg 102, Level 15, State 1, Line 2 Incorrect syntax near '('.

我做了很多事情,但无法弄清楚问题所在。任何人都可以指导我有什么问题吗?

4

3 回答 3

2
SELECT * INTO new_table 
FROM SourceTable 

new_table 一定不存在。

参考

回应您的评论:

SELECT * INTO dbo.new_table 
FROM (SELECT DISTINCT col1 FROM old_table) tmptable
于 2013-07-22T06:19:02.123 回答
1

CREATE TABLE new_table ASSQL Server 中无效。(这回答了你问的问题,关于问题是什么。)

Microsoft SQL Server (T-SQL) 中提供了等效功能,但它使用不同的 T-SQL 语法:

SELECT * INTO new_table FROM old_table

这将允许您创建新表,其中包含现有表中的所有列和行。

http://msdn.microsoft.com/en-us/library/ms188029(v=sql.105).aspx

于 2013-07-22T06:19:10.390 回答
1

如果您只需要表结构(无数据),请包括 Top 0

SELECT TOP 0 * INTO new_table FROM old_table
于 2013-07-22T06:43:11.210 回答