有一存储过程如下:
CREATE procedure mod_sjsr1
@TableName varchar(30),
@id int,
@ch varchar(7),
@yu1 numeric(3, 0)
as
begin
exec('update ['+ @TableName + '] set [email protected]+''',[email protected]+''' where [email protected]+'''')
end
GO
查询分析器调用:
declare @id int,@ch varchar(7),@yu1 numeric(3, 0),@TableName varchar(30) set @id='1' set @ch='G0A-116' set @yu1='66' set @TableName='F2201252' exec mod_sjsr1 @id,@ch,@yu1,@TableName
出错信息:
将数据类型 varchar 转换为 int 时出错。
yu1='66'如何书写
请各位大侠不吝指教
------解决方案--------------------
- SQL code
declare @id int,@ch varchar(7),@yu1 numeric(3, 0),@TableName varchar(30) set @id=1 set @ch='G0A-116' set @yu1=66set @TableName='F2201252' exec mod_sjsr1 @TableName,@id,@ch,@yu1
------解决方案--------------------
- SQL code
exec('update ['+ @TableName + '] set [email protected]+''',[email protected]+''' where Id='+Convert(varchar(32),@id)+'')
------解决方案--------------------
- VB code
sql='exec @TableName='"+trim(edit1.text)+"',@id="+trim(edit2.text)+",@ch='"+ytim(edit3.text)+"',@yu1="+trim(edit4.text)+"'