我有一个场景,我必须从表中删除记录,这些记录可能存在也可能不存在于不同的数据库中。例如,该表称为 Md5SumJob。它存在于数据库 A 但不存在于数据库 B 中。所以我已经有一个检查表是否存在于数据库中。
IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE table_name = 'Md5SumJob')
但现在我需要弄清楚如何删除表中的实际数据。可能存在或不存在的表只有 1 列 (nvarchar)。所以这是我无法弄清楚如何根据该 1 列删除记录以及该表是否存在的地方。这是我到目前为止尝试过但不起作用的方法:
IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE table_name = 'Md5SumJob')
DELETE FROM x FROM (select * from INFORMATION_SCHEMA.COLUMNS i where i.TABLE_NAME = 'Md5SumJob') x
JOIN @pid p on p.CtpJobId = (select * from INFORMATION_SCHEMA.COLUMNS i
where i.COLUMN_NAME = 'CtpJobId' and i.TABLE_NAME = 'Md5SumJob')