sql 存储过程 - 根据条件执行不同的SQL语句

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql 存储过程 - 根据条件执行不同的SQL语句相关的知识,希望对你有一定的参考价值。

CREATE PROC [dbo].[GetUserByCondition]
        @username varchar(100),
        @orderfield  varchar(100)
     
         AS
                BEGIN
                    DECLARE @sqlfilter  VARCHAR(max)
                    SET @sqlfilter = 'select * from hrmresource where 1=1 '
                    IF(@username is not null)
                              SET @sqlfilter = @sqlfilter + '   and lastname like  ''%' +@username+ '%'' '
                    IF(@orderfield is not null)
                              SET @sqlfilter =  @sqlfilter +  '  order  by ' + @orderfield + ' desc' 
            
                            PRINT ( @sqlfilter)
                            EXEC (@sqlfilter)

                END
GO

exec GetUserByCondition '杨','workcode'

以上是关于sql 存储过程 - 根据条件执行不同的SQL语句的主要内容,如果未能解决你的问题,请参考以下文章

SQL根据条件执行不同的语句

如何用参数控制执行不同的sql语句(在线等答案

[转]使用exec和sp_executesql动态执行SQL语句

项目开发中使用存储过程和直接使用SQL语句的区别

SQL中多分支If语句的性能(Sql Server 2008)

mysql根据条件执行sql