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

2014-11-24 08:31:11 来源: 作者: 浏览: 2

最近做的《教务-基础 系统》中有这样的需求,根据传入的条件查询相应的数据信息。比如根据校区查询某一校区的建筑信息;如果不传入校区信息,则查询各个校区全部建筑信息。于是写了多条件查询的存储过程。当然这个存储过程可能还有优化之处,等待高人指点!
www.2cto.com
一、包含语法错误的多条件查询存储过程
1.存储过程建立
2.错误展示
以此警示自己!
www.2cto.com
二、正确的存储过程
1.存储过程的创建
[sql]
-- =============================================
-- 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.建筑信息查询结果展示 www.2cto.com
注意到含有语法错误的存储过程与正确存储区别在哪了嘛?其实就是 www.2cto.com
-->

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: