我想通过传入一个system.guid列表并传入一个整数键列表来在SQL sproc中提取一组记录。
当然,我可以将guid ih放到字符串中,但问题是 - 如何引用测试值,以便它们被SQL识别为UID
本质上我是
DECLARE @pklist AS VARCHAR(1000)
- 这看起来像“'45F4AE2A-D27C-D711-83FD-0008C7FA9683','EC824D02-D37C-D711-83FD-0008C7FA9683','BA8E4D02-D37C-D711-83FD-0008C7FA9683'”来自vb .net的execsql - 我认为:-)但它似乎需要看起来像
SET @pklist ='45F4AE2A-D27C-D711-83FD-0008C7FA9683,EC824D02-D37C-D711-83FD-0008C7FA9683,BA8E4D02-D37C-D711-83FD-0008C7FA9683'
SELECT * from dbo.members WHERE members.cpk IN(@pklist)
这只返回与字符串中第一个UID匹配的记录。有什么东西可以包装一个t-sql VARCHAR字符串,所以每个guid都会被清楚地看到吗?
尝试使用整数键列表执行此操作时,问题是该值被视为字符串的一部分而不是强制转换为整数
似乎从传入的字符串的解析版本创建一个表,然后执行JOIN也可以实现我所需要的,但是为此挣扎了T-SQL语法。
基本上 - 将列表(T)传入sproc并获取记录集
所有指导意见表示赞赏。
Charles Hankey
(同时指导为什么我的完全有效的电子邮件地址都不可接受通知 - 让它在个人资料中设置)