各位大侠帮帮忙,怎样把这段存储过程转换为SQL语句,在线等,先谢谢了!

createprocSelectProduct@ProdIDvarchar(10),@ProdNamenvarchar(30),@CategoryIDvarchar(5)... create proc SelectProduct
@ProdID varchar(10),
@ProdName nvarchar(30),
@CategoryID varchar(5),
@MinPrice decimal(10,2),
@MaxPrice decimal(10,2)
as
declare @sql varchar(2000)
set @sql='select * from Product where 1=1'
if @ProdID<>''
set @sql=@sql+' and ProdID like ''%'+@ProdID+'%'''
if @ProdName<>''
set @sql=@sql+' and ProdName like ''%'+@ProdName+'%'''
if @CategoryID<>'ALL'
set @sql=@sql+' and CategoryID='''+@CategoryID+''''
if @MinPrice<>-1
set @sql=@sql+' and Price>='+cast(@MinPrice as varchar)
if @MaxPrice<>-1
set @sql=@sql+' and Price<='+cast(@MaxPrice as varchar)
set @sql=@sql+' order by AddTime desc'
--print @sql
exec(@sql)
展开
 我来答
kennychenxiang
2012-10-20 · TA获得超过201个赞
知道小有建树答主
回答量:180
采纳率:100%
帮助的人:180万
展开全部
整个过程相当于执行如下语句:
select * from Product

如果过程没写错,应是如下意思吧:
select * from Product
where (@ProdID = '' or ProdID like '%'+@ProdID+'%')
and (@ProdName = '' or ProdName like '%'+@ProdName+'%')
and (@CategoryID = 'ALL' or CategoryID = @CategoryID)
and (@MinPrice = -1 or Price >= @MinPrice)
and (@MaxPrice = -1 or Price <= @MaxPrice)
order by AddTime desc
百度网友0319a0e
2012-10-21 · TA获得超过2.2万个赞
知道小有建树答主
回答量:2080
采纳率:85%
帮助的人:1155万
展开全部
转化要点功力!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
luocongjay
2012-10-20 · TA获得超过949个赞
知道小有建树答主
回答量:1382
采纳率:33%
帮助的人:443万
展开全部
就是if再判断 执行语句而已
你要转换sql语句的话 用其他网页编程 查询相关字段 再If 再执行不就OK了么
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式