选择不在表中的列的最佳方法

时间:2013-07-16 09:04:37

标签: sql-server stored-procedures sql-server-2012

我有一个带有唯一列“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

0 个答案:

没有答案