gpt4 book ai didi

sql - 如何比较两个表

转载 作者:行者123 更新时间:2023-12-04 22:41:39 25 4
gpt4 key购买 nike

我有两个表(OriginalLoad),我想使用存储过程比较它们。

数据库是SQL Server 2008。

这是我的示例 SP:

USE [TestDB]
GO

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

CREATE PROCEDURE [dbo].[ValidateLoad]
AS
SET nocount ON;

IF EXISTS(SELECT *
FROM dbo.original
EXCEPT
SELECT *
FROM dbo.LOAD)
BEGIN
PRINT
'Warning! The following information has not been loaded'

PRINT '---------------------------------'

PRINT 'Load result: Fail'

SELECT *
FROM dbo.original
EXCEPT
SELECT *
FROM dbo.LOAD

set noexec on
END

IF EXISTS(SELECT *
FROM dbo.LOAD
EXCEPT
SELECT *
FROM dbo.original)
BEGIN
PRINT
'Warning! The following information does not exist in Original table'

PRINT '---------------------------------'

PRINT 'Load result: Fail'

SELECT *
FROM dbo.LOAD
EXCEPT
SELECT *
FROM dbo.original

set noexec on
END

PRINT 'Load result: Succeeded'

我发现它不是很有效。

我的目的是验证这两个表/数据集是否相同,如果不相同,则输出带有有意义错误消息的结果。

有什么想法吗?

谢谢。

最佳答案

您是否考虑过使用合并语句比较两者。

当不匹配时插入#temp。然后您可以显示临时表的结果。

关于sql - 如何比较两个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13463340/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com