您的位置:首页 > 数据库

SqlServer 存储过程 if else 两层判断 语句拼接

2011-02-24 11:54 399 查看
今天自己摸索写了一个sql的存储过程,两层if 判断,语句拼接,backup

语句模式有两种,一种是Create New 还有一种是Modify ,下面的是第一种



要提示的是,写语句的时候 单引号的引用:用到单引号的一律两个单引号代替



USE [a]
GO
/****** Object:  StoredProcedure [a].[Processname]    Script Date: 02/24/2011 11:49:55 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author:		<Author,,Name>
-- Create date: <Create Date,,>
-- Description:	<Description,,>
-- =============================================
CREATE PROCEDURE [a].[Processname]
@FromDateTime varchar(200),
@ToDateTime varchar(200),
@CountryCode varchar(200),
@Version varchar(200)
AS
declare @sql varchar(1000)
set @sql='select AccessDateTime,IpAddress,Area,AreaDetail as description,City,Version from a.TableName where AccessDateTime
 between ''' + @FromDateTime+''' and '''+ @ToDateTime+''''
BEGIN
	if(@CountryCode='')
	begin
		set @sql=@sql
		if(@Version='')
			begin
				set @sql = @sql +' order by id desc'
			end
		else
			begin
				set @sql = @sql + ' and  Version='''+@Version +'''  order by id desc'
			end
	end
	else 
	begin
		set @sql=@sql
		if(@Version='')	
			begin
				set @sql=@sql +' and  Area='''+@CountryCode+''' order by id desc'
			end	
		else
			begin
				set @sql=@sql +' and Area='''+@CountryCode+''' and  Version='''+ @Version +''' order by id desc'
			end
	end		
exec(@sql)	
END
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐