CREATE PROCEDURE proc_stop_user
@puserid int
AS
exec('UPDATE t_user SET user_sex = ''2'',userid=userid+''psuit'' WHERE user_id = ' + @puserid)
GO
@puserid int
AS
exec('UPDATE t_user SET user_sex = ''2'',userid=userid+''psuit'' WHERE user_id = ' + @puserid)
GO
@puserid int
AS
exec('UPDATE t_user SET user_sex = ''2'',userid=userid+''psuit'' WHERE user_id = ' + cast(@puserid as varchar(20)))
GO
为什么呀一般好像不要EXEC的呀还有‘’2‘’,有这个必要吗。
userid=userid+'psuit'
userid为int类型,无法和'psuit'相加,会出现类型转换错误,除非userid为字符型
@puserid int
AS
UPDATE t_user
SET user_sex = '2',userid=userid+'psuit'
WHERE user_id = @puserid
GO没问题啊?是不是你的userid不是字符型?