Sql Server 编写多条件查询语句的存储过程-包含语法异常的存储过程与正确存储过程
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.建筑信息查询结果展示
注意到含有语法错误的存储过程与正确存储区别在哪了嘛?其实就是