我正在使用SQL Server 2012,我有以下T-SQL查询:
USE MyDatabase
INSERT INTO [Table1]
SELECT *
FROM [xxx.xx.x.xx].[xxx].[dbo].[Table1]
我想修改此查询,以便仅当该表在MyDatabase
中尚不存在时才将Table1
复制到MyDatabase
中。
我看过这里,但我无法弄清楚如何将解决方案迁移到我的问题中: 检查 SQL Server 中是否存在表
我怎样才能做到这一点?
这应该可以做到:
IF (NOT EXISTS (SELECT *
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'dbo' AND TABLE_NAME = 'Table1'))
BEGIN
INSERT INTO [Table1]
SELECT *
FROM [xxx.xx.x.xx].[xxx].[dbo].[Table1]
END
您可以在此处阅读更多详细信息和方法: 检查 SQL Server 中是否存在表