下面是一个比较两个表并使用SQL Server存储过程将所有带有添加或删除状态的记录插入第三个表的示例代码:
CREATE PROCEDURE CompareAndInsertRecords
AS
BEGIN
-- 创建第三个表
CREATE TABLE ThirdTable (
ID INT PRIMARY KEY,
Name VARCHAR(50),
Status VARCHAR(10)
)
-- 删除第三个表中的所有记录
DELETE FROM ThirdTable
-- 插入添加状态的记录
INSERT INTO ThirdTable (ID, Name, Status)
SELECT TableA.ID, TableA.Name, 'Added'
FROM TableA
LEFT JOIN TableB ON TableA.ID = TableB.ID
WHERE TableB.ID IS NULL
-- 插入删除状态的记录
INSERT INTO ThirdTable (ID, Name, Status)
SELECT TableB.ID, TableB.Name, 'Deleted'
FROM TableB
LEFT JOIN TableA ON TableB.ID = TableA.ID
WHERE TableA.ID IS NULL
END
在这个示例中,我们首先创建了第三个表,然后删除了第三个表中的所有记录。接下来,我们使用LEFT JOIN比较TableA和TableB两个表,并根据比较结果插入添加和删除状态的记录到第三个表中。
请注意,你需要将代码中的TableA和TableB替换为你要比较的实际表名。此外,你还可以根据需要修改第三个表的列和数据类型。