如何在存储过程中编写if条件的情况

hap*_*ile 1 sql stored-procedures

我有一张桌子,我正在通过5个参数

table name=" image"
parameter
@imageID,
@imageName,
@imageDirectory,
@imageResource,
Run Code Online (Sandbox Code Playgroud)

从前端[来自文本框控件的页面]如果他们没有向存储过程发送任何值,那么我应该做一个简单的查询条件1:

 select  * From image
Run Code Online (Sandbox Code Playgroud)

条件2:如果他们向上述参数发送任何值,则根据发送的参数收集这些值并检索结果

条件3:这里他们可能会将值发送到该参数的条件选择值中的任何参数.对于他们没有发送值的参数,我们可以发送'null'或''

所以基于那个反复的结果

那么如何为这样的条件写一个存储过程.处理所有三个条件

任何帮助真的很棒谢谢你

Ste*_*ton 5

尝试这些方面:

SELECT * FROM IMAGE i
WHERE 1=1 
AND (@ImageID IS NULL OR i.ImageId = @ImageID )
AND (@ImageName IS NULL OR i.ImageName = @ImageName )
AND (@ImageDirectory IS NULL OR i.ImageDirectory = @ImageDirectory)
AND (@ImageResource IS NULL OR i.ImageResource = @ImageResource)
Run Code Online (Sandbox Code Playgroud)