ALTER PROCEDURE cf_Number_Pic
@id int,
@number int
AS
declare @Sql nvarchar(4000)
set @Sql=select top + Rtrim(@number)+ pic_url from tbl_car_pic where cartype_id=+@id+ and is_neiwai=1 and isdelete=0 and isshow=0 order by pic_id desc
exec (@Sql)
我测试,id=15,number=20
结果显示:
将 varchar 值 select top 15 pic_url from tbl_car_pic where cartype_id= 转换为数据类型为 int 的列时发生语法错误。
ALTER PROCEDURE cf_Number_Pic
@id int,
@number int
AS
declare @Sql nvarchar(4000)
set @Sql=select top + Rtrim(convert(varchar,@number))
+ pic_url from tbl_car_pic where cartype_id=+convert(varchar,@id)
+ and is_neiwai=1 and isdelete=0 and isshow=0 order by pic_id desc
exec (@Sql)
如果is_neiwai为字符串:
ALTER PROCEDURE cf_Number_Pic
@id int,
@number int
AS
declare @Sql nvarchar(4000)
set @Sql=select top + Rtrim(convert(varchar,@number))
+ pic_url from tbl_car_pic where cartype_id=+convert(varchar,@id)
+ and is_neiwai=1 and isdelete=0 and isshow=0 order by pic_id desc
exec (@Sql)