存储过程多条件查询
来源:互联网 发布:什么软件可以去掉原唱 编辑:程序博客网 时间:2024/05/01 07:38
动态组合条件:
- create proc aaa
- @width decimal(18,2),
- @height decimal(18,2),
- @length decimal(18,2),
- @scope decimal(18,2)
- AS
- declare @s nvarchar(4000)
- set @s=
- case
- when @width is not null then ' and widthb<=@width and widthe>@width'
- else ''
- end
- +
- case
- when @length is not null then ' and lengthb<=@length and lengthe>@length'
- else ''
- end
- if @s=''
- set @s='select * from 表'
- else
- set @s='select * from 表 where '+substring(@s,5,4000)
- exec sp_executesql
- @s,
- N'width decimal(18,2),
- @height decimal(18,2),
- @length decimal(18,2),
- @scope decimal(18,2)',
- @width,@height,@length,@scope
- go
转自:http://topic.csdn.net/t/20031229/09/2612554.html
自己来写一个笨笨的存储过程! 第一个哦
- CREATE PROCEDURE dbo.GetAllEmployeeWithCondition
- (
- @emp_name nvarchar(20),
- @emp_post nvarchar(10),
- @emp_id nvarchar(20),
- @emp_joindate1 datetime,
- @emp_joindate2 datetime,
- @blur bit
- )
- AS
- DECLARE @op1 nvarchar(4)
- DECLARE @condition nvarchar(200)
- SET @condition = ''
- IF @blur = 1
- BEGIN
- IF @emp_name IS NOT NULL
- BEGIN
- SET @condition = @condition + ' emp_name LIKE ''%'' + @emp_name + ''%'' AND '
- END
- IF @emp_post IS NOT NULL
- BEGIN
- SET @condition = @condition + ' emp_post LIKE ''%'' + @emp_post + ''%'' AND '
- END
- IF @emp_id IS NOT NULL
- BEGIN
- SET @condition = @condition + ' emp_id LIKE ''%'' + @emp_id + ''%'' AND '
- END
- END
- ELSE
- BEGIN
- IF @emp_name IS NOT NULL
- BEGIN
- SET @condition = @condition + ' emp_name=@emp_name AND '
- END
- IF @emp_post IS NOT NULL
- BEGIN
- SET @condition = @condition + ' emp_post=@emp_post AND '
- END
- IF @emp_id IS NOT NULL
- BEGIN
- SET @condition = @condition + ' emp_id=@emp_id AND '
- END
- END
- IF @emp_joindate1 IS NOT NULL
- BEGIN
- SET @condition = @condition + ' emp_joindate>=@emp_joindate1 AND '
- END
- IF @emp_joindate2 IS NOT NULL
- BEGIN
- SET @condition = @condition + ' emp_joindate<=@emp_joindate2 AND '
- END
- DECLARE @str nvarchar(200)
- IF @condition <> ''
- BEGIN
- SET @condition = substring(@condition, 0, len(@condition) - 3)
- SET @str = 'SELECT * FROM [employee] WHERE' + @condition
- EXEC sp_executesql
- @str,
- N'@emp_name nvarchar(20),
- @emp_post nvarchar(10),
- @emp_id nvarchar(20),
- @emp_joindate1 datetime,
- @emp_joindate2 datetime',
- @emp_name, @emp_post, @emp_id, @emp_joindate1, @emp_joindate2
- END
- ELSE
- BEGIN
- SELECT * FROM [employee]
- END
- RETURN
- 存储过程多条件查询
- 存储过程条件查询
- 存储过程-分隔符号-多条件查询
- 多条件查询存储过程 例一
- 多条件查询存储过程-SQL Server
- sqlserver2005多选,多条件查询存储过程
- Oracle多条件查询分页存储过程
- 存储过程动态条件查询
- SqlServer 多条件查询 [存储过程] 经典例子
- SqlServer 多条件查询 [存储过程] 经典例子
- 使用一个存储过程实现多条件查询
- 分页存储过程 UP_GetRecordByPageOrder 多条件查询 错误
- 存储过程生成动态条件查询语句
- 条件查询存储过程,带分页
- mysql 存储过程 变量作为查询条件
- Sql Server 编写多条件查询语句的存储过程--包含语法错误的存储过程与正确存储过程
- 多条件分页存储过程
- 分页存储过程,可将查询条件作为参数传递的分页查询存储过程
- C#语言的几个层次(转)
- gloox接收消息
- FireFox nsSessionStore.js 问题报错解决
- Microsoft Visual C# 2008之winForm连接vfp数据库
- VBA EXCEL 文件合并
- 存储过程多条件查询
- 小学生经典作文片段(爆笑)
- Ajax同步链接在IE 与FireFox的使用差别 open("GET",url,false)
- 能否用无线上网卡发传真?
- Microsoft Dips Its Toe Into The iPhone With Seadragon Mobile
- 微软软件开发技术二十年回顾
- ajax学习笔记---XMLHttpRequest的属性和方法
- GLDEF_C, LOCAL_C, GLREF_C 的含义
- 手工获取kernel基地址