从匹配其他id列表的sql表中获取id列表的有效方法



我已经动态创建了从外部源获取的id(int(列表(通过webmethod,我将它们存储在C#代码级别的list对象中(。我在SQL数据库中有一个关联表,它为每个外部id存储一个内部id。我想开发一个存储过程,在其中放入这些外部id的列表并检索内部id的列表。在每次调用期间可能有几十万个外部id。我有MS SQL server 2008。有有效的方法吗?

您可以将外部ID存储在临时表中,然后将外部ID上的临时表连接到内部查找表中的外部ID,并从该连接返回内部ID的结果?

如果你需要关于如何将你的id存储在临时表中或如何加入的代码,请告诉我,但也应该能够在stackoverflow上找到答案。

您可以将动态列表导入临时表(IDs_temp_T(,然后运行联接:

INSERT INTO IDs_Temp_T (ID) VALUES(get_your_ID_Input);
SELECT * 
FROM Table1 INNERJOIN IDs_Temp_T ON Table1.ID = IDs_Temp_T.ID
WHERE TABLE1.ID IS NOT NULL;
DELETE FROM IDs_Temp_T;

最新更新