SQL Server中的重复表定义(列)

时间:2011-03-16 16:33:51

标签: sql sql-server

是否有一种快速简便的方法可以在SQL-Server中复制表格?我只是想从表A创建一个临时表,因为我需要刷新表B(它会干扰外键)。

我知道手动做这不是一个荒谬的任务,但似乎应该有一个很好的方法来做到这一点。

编辑:为了澄清,我想复制表定义,而不是实际数据。

5 个答案:

答案 0 :(得分:6)

试试这个?

SELECT
  *
INTO
  #temp
FROM
  myTable
WHERE
  1=0

它不会复制约束,索引等。但它应该复制数据类型和字段名称。

答案 1 :(得分:1)

INSERT INTO TableB
( SELECT * FROM TableA )

答案 2 :(得分:1)

看看SELECT INTO:

SELECT *
INTO new_table_name [IN externaldatabase]
FROM old_tablename

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

MSDN:http://msdn.microsoft.com/en-us/library/aa213050%28v=sql.80%29.aspx

SELECT INTO可用于将来自多个表或视图的数据组合到一个表中。它还可用于创建包含从链接服务器中选择的数据的新表。

答案 3 :(得分:1)

在进行刷新时,暂时禁用约束不是更好的方法

 ALTER TABLE X NOCHECK CONSTRAINT ALL
 -- Refresh SQL 
 ALTER TABLE X CHECK CONSTRAINT ALL

答案 4 :(得分:0)

从sourceTable

中选择*进入copyTable