有关创建表的简单帮助

时间:2013-07-22 06:16:45

标签: sql-server

我是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 '('.

我做了很多事但却无法弄清问题是什么。请问任何人可以指导我出现什么问题?

3 个答案:

答案 0 :(得分:2)

SELECT * INTO new_table 
FROM SourceTable 

new_table必须不存在。

Ref

回应你的评论:

SELECT * INTO dbo.new_table 
FROM (SELECT DISTINCT col1 FROM old_table) tmptable

答案 1 :(得分:1)

CREATE TABLE new_table AS在SQL 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

答案 2 :(得分:1)

如果您只需要表格结构(没有数据),请包括前0

SELECT TOP 0 * INTO new_table FROM old_table