仅存在表的第一个数据库中的第二个数据库中的sql更新数据

Lia*_*mHT 5 sql t-sql sql-server powershell

我正在尝试将一些表从实时数据库移动到另一个数据库,然后在传输数据后将其生效.第二个数据库存在于2008年的服务器上,迁移是从2012年开始的,这导致了一些问题

最初我用Scripts做了一个完整的数据库导出.因为导出工具不会转到以前的版本. - 完全导出后,我删除了db2上多余的表.因为我只在约200个左右移动40个左右.

现在DB结构已经建立,一切正常.与过时的数据.一旦数据更新,一切都准备好了.所以我理想地喜欢一个脚本,它检查db2中是否存在db1中的表,然后是否复制所有行.这可能吗?

Joh*_*ell 1

您需要在 DB2 上创建一个过程,根据您正在检查的表返回结果:

USE [DB2]

CREATE PROCEDURE DBO.CHECKDB2TABLE

@TABLENAME NVARCHAR(50)

AS

IF EXISTS (
    SELECT * FROM INFORMATION_SCHEMA.COLUMNS 
    WHERE (TABLE_NAME = @TABLENAME)
)
    BEGIN
        SELECT 'TRUE'
    ELSE 
        SELECT 'FALSE'
    END
Run Code Online (Sandbox Code Playgroud)

然后使用该过程检查 DB2 并根据该输出创建条件语句以在表中进行复制。

EXEC DB2.dbo.CheckDB2Table @TABLENAME='Tablename'
Run Code Online (Sandbox Code Playgroud)

谢谢。