这可能吗?
我将逗号分隔的ID作为整数/字符串数组作为参数(即100,101,102,103,104,105)。
我需要在删除查询中传入。
即。 delete from tablename where ID in (100,101,102,103,104,105) and status='Completed';
如果100,102,105被删除&如果101& 103不会被删除(因为某些错误),那么我需要返回101& 103未删除错误消息(如果状态未完成)。
PLS。在这上面点亮。
答案 0 :(得分:1)
您可以使用一个事务并分成两个操作。首先删除列表中的所有内容,然后查询列表中的所有内容,您将获得未删除的列表。之后就完成交易。
编辑:甚至不确定您是否需要交易,这取决于您的要求。
答案 1 :(得分:0)
归结为您将需要单独处理每个ID并确定删除是否成功。正如我在评论中所说,您对返回调用过程的内容有多种选择。它可以是List<CustomClass>
和Dictionary<int, string>
,甚至是元组列表。
我个人倾向于使用List<CustomClass>
,因为当我返回两件事(例如ID和错误)时,我总是想要稍后返回。
答案 2 :(得分:0)
您可以使用SQL存储过程来完成此任务。使用id列表调用sproc,让sproc返回一个id表,以及它没有成功的原因。