读书人

根据ID删除一个信息的存储过程解决思路

发布时间: 2012-02-04 15:43:09 作者: rapoo

根据ID删除一个信息的存储过程

alter PROCEDURE [dbo].[pro_allTable]
@tableName varchar(100),--表名
@Id int --ID号
as
declare @sql varchar(1000)

Set nocount on

set @sql=N 'DELETE FROM '+@tableName+ N ' WHERE [ID]= '+@id

exec sp_executesql @sql
go

出错
将 nvarchar 值 'DELETE FROM TABLE1 WHERE [ID]= ' 转换为数据类型为 int 的列时发生语法错误。
哪位大哥帮忙看一下

[解决办法]
set @sql= 'DELETE FROM '+@tableName+ ' WHERE [ID]= '+ RTRIM(@id)

[解决办法]
set @sql=N 'DELETE FROM '+@tableName+ N ' WHERE [ID]= '+ cast(@id as varchar(10))
一个varchar与一个int相加,不报错才怪
[解决办法]
set @sql= 'DELETE FROM '+@tableName+ ' WHERE [ID]= '+ TRIM(@id)

读书人网 >C#

热点推荐