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

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

演示:

SQL流程控制元素IF...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 )

 

 

 

你可能感兴趣的:(流程控制)