手记

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)

 

 

 

0人推荐
随时随地看视频
慕课网APP