SQL流程控制元素IF...ELSE

IF...ELSE元素在SQL Server中,是用于控制代码程流(逻辑处理)。如果条件为TRUE,则执行指定的语句或语句块;如果条件为FALSE或UNKNOWN则执行指定的另外语句或语句块。ELSE部分是可选的。

演示:

代码

--判断存储过程是否存在
IF OBJECT_ID ('[dbo].[usp_Employee_Search]','u'IS NOT NULL
    
--如果存在,DROP掉
    DROP PROCEDURE [dbo].[usp_Employee_Search]

--分隔批处理单元
GO
--创建新存储过程
CREATE PROCEDURE [dbo].[usp_Employee_Search]
(
    
@ConditionExpression nvarchar(3000)
)
AS
    
--宣告一个变量
    DECLARE @sql nvarchar(4000)    
    
--判断传入参考的长度。
    IF LEN(@ConditionExpression= 0
    
--如查参数长度为零,即没有参数传入,把默认SQL语句赋值给@sql变量
     SET @sql ='SELECT * FROM [dbo].[udf_Employee]()'
    
ELSE
        
--如果参数长度不为零,把默认SQL语句与参数串连之后赋值给@sql变量
        SELECT @sql = 'SELECT * FROM [dbo].[udf_Employee]() WHERE ' + @ConditionExpression 
        
--使用EXECUTE执行这SQL语句
    EXECUTE(@sql)
原文地址:https://www.cnblogs.com/insus/p/1918158.html