关于SQL存储过程的问题?where中条件语句的累加

 我来答
隽高爽集豆
游戏玩家

2020-03-19 · 非著名电竞玩家
知道大有可为答主
回答量:1.1万
采纳率:30%
帮助的人:729万
展开全部
把思路放开一下,你这个存储过程其实所需要做得事情就是根据你的逻辑判断来组织后面的查询语句,

你可以的存储过程可以这样,把你组织条件的语句放在程序中,查询的时候只传给存储过程一个组织

好的条件进行查询就可以了,这样你的
if
else判断就无需放在存储过程中了

ALTER
PROCEDURE
[dbo].[kaoqinView_GetList]
@condition
nvarchar(4000),
AS

declare
@sql
nvarchar(4000)

set @sql='
SELECT
[kaoqinId],
[name],
[employeeId],
[year],
[month],
[overHour],
[chiDao],
[zaoTui],
[kuangGong]
FROM
[SMS_DB].[dbo].[kaoqinView]
where
1=1
'
+
@condition

exec(@sql)

go

当然如果你一定要把
if
else
判断放在存储过程中也可以,原理差不多,先通过判断拼接出查询条件,然后再将查询语句与查询条件拼接起来
通过exec来进行执行
就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式