asp的存储过程的问题?

来源:百度知道 编辑:UC知道 时间:2024/05/31 23:29:10
declare @id varchar(40)
set @id='9,10,12,14'
delete from t_det where id in (@id)

提示错误:
服务器: 消息 245,级别 16,状态 1,行 1
将 varchar 值 '9,10,12,14' 转换为数据类型为 int 的列时发生语法错误。
我就是想实现批量删除等工作,请问如何处理?

set @id='9,10,12,14' 转换为数据类型为 int 的列时发生语法错误。
'9,10,12,14'是字符串,不可能转换成INT数字类型!因为字符串包含非数字字符。

你这里定义的就是字符型啊,干吗转整形呢?如果要用整形,在数据库定义里就该设为整型,建议还是用字符型,不然每次赋值都要做次类型转换。