我动态地创建了从外部源获取的in列表(int) (通过webmethod,我将它们存储在C#代码级别的list对象中)。我在SQL数据库中有一个关联表,为每个外部id存储一个内部id。我想开发一个存储过程,将这些外部ids的列表放入其中,并检索内部ids的列表。在每次调用期间可能有几十万个外部ids。我有MS SQL server 2008。有没有有效的方法来做到这一点?
发布于 2020-11-10 21:51:13
您可以将外部ID存储在临时表中,然后将外部ID上的临时表连接到内部查询表中的外部ID,并从该连接返回内部ID的结果?
如果你需要关于如何在临时表中存储你的id或如何加入的代码,请让我知道,但也应该能够找到堆栈溢出上的答案。
发布于 2020-11-10 21:52:53
您可以将动态列表导入到临时表(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;
https://stackoverflow.com/questions/64777198
复制相似问题