Sql Server 编写多条件查询语句的存储过程--包含语法错误的存储过程与正确存储过程

    最近做的《教务-基础系统》中有这样的需求,根据传入的条件查询相应的数据信息。比如根据校区查询某一校区的建筑信息;如果不传入校区信息,则查询各个校区全部建筑信息。于是写了多条件查询的存储过程。当然这个存储过程可能还有优化之处,等待高人指点!


   一、包含语法错误的多条件查询存储过程

      1.存储过程建立

         

      2.错误展示

      

      以此警示自己!


   二、正确的存储过程

      1.存储过程的创建

-- =============================================
-- Author:		XXX
-- Create date: 2012年12月29日 20:50:38
-- Description:建筑管理:查询现存建筑信息
-- =============================================
CREATE PROCEDURE [dbo].[PROC_TB_BuildingQueryBuilding] 
	-- 存储过程参数
	@CampusID CHAR(36)	--校区ID
AS
BEGIN
	
	Declare @sqlStr varchar(300)  --存储sql语句
	
	Set @sqlStr = 'Select * from VB_BuildingAllInfo where 1=1'	        --合成sql语句,不输入条件则查询全部建筑信息;
	                                                                    --根据条件从视图VB_BuildingAllInfo中查询
	 
	if (@CampusID!='')										            --判断是否选择校区
		set @sqlStr = @sqlStr + ' and CampusID =' + ''''+@CampusID+'''' --选择校区,加上判断条件
		 

	EXEC (@sqlStr + ' and IsAvailable =''是''')							--执行SQL语句,查询建筑信息
END

      2.建筑信息查询结果展示




    注意到含有语法错误的存储过程与正确存储区别在哪了嘛?其实就是

     

    

     

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值