我需要返回传递给我的存储过程的用户电子邮件。可以将多个用户传递到存储过程中,并用逗号分隔。
我有一个可以使用的拆分表值函数
INSERT INTO @stTbl
SELECT value
FROM fn_Split(@UFID , ',')
但当某些值可能不在表中时,就会出现问题,如果用户表中不存在,我需要从 CSV 列表中插入用户。
我不想使用光标,那么执行此类操作的最佳方法是什么?
最佳答案
INSERT INTO @stTbl (value)
SELECT value
FROM fn_Split(@UFID , ',') AS F
WHERE NOT EXISTS (
SELECT NULL
FROM @stTbl AS T
WHERE T.value = F.value
)
关于SQL Server 2005 如何在没有游标的情况下迭代 CSV 或表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9979394/