跪求,这条语句为什么不能用
- SQL code
-- 用完整的产品列表填充该TABLE变量INSERT INTO @ProductSELECT ROW_NUMBER() OVER (ORDER BY Product.Id), Id, Nick,NumIid, TrackIiid,ContactPhone,CategoryId,CreateTime,ModifiedTime,Sorting,EffectiveIntegral,ShareIntegralFROM ProductWHERE Id > 0IF @Category > 0AND CategoryId = @Category IF @Key <> ''AND Nick = @Key ORDER BY Id DESC
[解决办法]
大概是这样,我这里没环境,不知道会不会报错,但是思路就是这样了
- SQL code
DECLARE @sql varchar(max)SET @sql='SELECT ROW_NUMBER() OVER (ORDER BY Product.Id), Id, Nick,NumIid, TrackIiid,ContactPhone,CategoryId,CreateTime,ModifiedTime,Sorting,EffectiveIntegral,ShareIntegralFROM ProductWHERE Id > 0 'IF @Category > 0BEGIN SET @sql=@sql+' AND CategoryId = @Category 'ENDIF @Key <> ''BEGIN SET @sql=@sql+' AND Nick = @Key 'ENDSET @sql=@sql+' ORDER BY Id DESC ' EXEC @sql