当前位置:  开发笔记 > 数据库 > 正文

SQL删除不在的地方

如何解决《SQL删除不在的地方》经验,为你挑选了0个好方法。

我有一个像这样的关系映射表:

属性bigint
productid bigint

要清除不再使用的关系,我想删除其中productid = x和attributeid不在(@includedIds)的所有recors,如下例所示:

@attributetypeid bigint, 
@productid bigint,
@includedids varchar(MAX)  


DELETE FROM reltable 
WHERE productid = @productid AND 
attributetypeid = @attributetypeid AND 
attributeid NOT IN (@includedids);

当使用包含多于1个id的includedids param运行SQL时 - 像这样:25,26 - 我得到一个SqlException说:

将数据类型varchar转换为bigint时出错.

这当然是由于varchar(max)参数...

我应该如何构建我的删除语句以使其工作?

推荐阅读
Chloemw
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有