1

我有一个带有唯一列“X”的表。

我想使用 X 的表值对将列表传递给存储过程,并且我想返回表中不存在的所有 X 的列表。

在 SQL Server 中执行此操作的最有效方法是什么?

编辑:

我想出了这个。不知道效率如何:

CREATE TYPE StringList_TBLType AS TABLE (s NVARCHAR(255) NOT NULL PRIMARY KEY)

CREATE PROCEDURE [dbo].ReturnProductsNotExisting
(
    @CatalogIdList StringList_TBLType READONLY  
)
AS
BEGIN
    SELECT s FROM @CatalogIdList
    WHERE s NOT IN (SELECT CatalogId from Products)
END
4

0 回答 0