如何将数据从一个表复制/附加到SQL Server中具有相同模式的另一个表中?
编辑:
我的意思是说有查询
select *
into table1
from table2
where 1=1
Run Code Online (Sandbox Code Playgroud)
它table1使用相同的模式和数据创建table2.
有没有像这样的简短查询只将整个数据复制到现有的表中?
我需要将索引从一个表复制到另一个表.有很多索引,我不想从头开始重新创建它们.无论如何似乎容易出错.
我使用了复制结构
SELECT * INTO [BackupTable] FROM [OriginalTable]
Run Code Online (Sandbox Code Playgroud)
但这不会复制索引,约束,触发器等
有谁知道如何做到这一点?
作为校对更改练习的一部分,我有一个索引列表(122)需要删除然后重新创建.如何重新创建这些索引而无需每次都通过GUI并将其编写到查询窗口?
我的索引列表是从这个脚本获得的
WITH indexCTE AS
(
SELECT Table_Name, Column_Name, Collation_Name
FROM information_schema.columns
WHERE Collation_Name IS NOT NULL AND Collation_Name = 'Modern_Spanish_CI_AS'
),
indexCTE2 AS
(
SELECT i.Name [Index Name], OBJECT_NAME(i.object_ID) [Table Name], c.Name [Column Name]
FROM sys.indexes i
INNER JOIN sys.index_columns ic ON i.index_id = ic.index_id AND i.object_id = ic.object_id
INNER JOIN sys.columns c ON ic.column_id = c.column_id AND ic.object_id = c.OBJECT_ID
WHERE EXISTS (SELECT 1 FROM indexCTE t1 WHERE t1.Table_Name = OBJECT_NAME(i.object_ID) AND t1.Column_Name = c.Name)
) SELECT * …Run Code Online (Sandbox Code Playgroud)