输入参数不确定的存储过程的编写
来源:互联网 发布:股票数学模型软件 编辑:程序博客网 时间:2024/06/08 14:20
以前写存储过程,输入参数和输出参数都确定,现在遇到一个问题,我要实现组合查询,那么输入的参数就会出现有多个参数,但是传
进存储过程的可能只有一部分有值,而且每次有值的参数又不能确定。
比如建一个学生信息表:
create table tb_stuInfo
(
stuId int identity(1,1) primary key,--序号
stuNum nchar(10) not null unique,--学号
stuName nvarchar(10) not null,--姓名
stuSex nchar(1) not null,--性别,1表示男,0表示女
stuAge int not null,--年龄
stuPhone nchar(11),--电话号码
stuEmail nvarchar(30)--电子邮件
)
现在要根据“学号”、“姓名”或者“性别”来查询学生信息,输入参数就有stuNum、stuName、stuSex,如果输入的参数都为空则表示
查询的所有学生的信息,否则查询的是有值的参数的学生信息。
要实现这样的要求的存储过程如下:
create procedure usp_GetStuInfo
@stuNum nchar(10)=null,
@stuName nvarchar(10)=null,
@stuSex nchar(1)=null
as
DECLARE @temp NVARCHAR(10) SET @temp='@#$%&*^()?'
select * from tb_stuInfo
where 1=1 and isnull(stuNum,@temp) like isnull('%'+@stuNum+'%',isnull(stuNum,@temp))
and isnull(stuName,@temp) like isnull('%'+@stuName+'%',isnull(stuName,@temp))
and isnull(stuSex,@temp) like isnull('%'+@stuSex+'%',isnull(stuSex,@temp))
(1)查询性别为“男”的学生信息:
exec usp_GetStuInfo null,null,'1'
(2)查询 学号=2007440972;性别为男的学生信息:
exec usp_GetStuInfo 2007440972,null,'1'
- 输入参数不确定的存储过程的编写
- 关于不确定参数的存储过程
- 函数的参数不确定的编写方式
- 存储过程输入参数的值
- 存储过程参数的输入与输出
- 使用带输入参数的存储过程
- 带有输入参数的存储过程
- 带输入参数的存储过程
- [转]C++如何编写参数个数不确定的函数?
- 存储过程的编写
- 消除不确定输入的电路设计
- 带输入参数的Oracle的存储过程
- ASP调用存储过程:有输入参数和输出参数的存储过程
- ASP调用存储过程:有输入参数和输出参数的存储过程
- Oracle编写带数组参数的存储过程
- 参数个数不确定的函数
- 参数不确定的宏定义
- python 函数不确定的参数
- 对iGENUS邮件系统的一次安全检测
- 第五部分 给程序添加退出事件
- aaa
- 随笔1
- 在单独的线程执行操作类BackgroundWorker
- 输入参数不确定的存储过程的编写
- IE浏览器自动打开文档
- 深入研究Servlet线程安全性问题
- 关于Apache mod_rewrite的中文配置、使用和语法介绍
- 关于Aspx Without WebForm 的一点想法
- 常用的LINUX 学习网站
- RUNSTATS_PKG 测试存储过程性能和效率
- ubuntu 下手动创建应用程序菜单启动项
- makefile、source和INF文件