求一存贮过程!

Hegemon 2008-03-30 05:26:55
表A
F_name F_Flag(bit型)
aaa 1
bbb 0

求一存贮过程,传入参数@Flag=1把F_Flag=1的记录查询出来,
传入参数@Flag=0 查询出F_Flag=0的记录,
传入参数@Flag=-1 查询出所有记录
...全文
52 点赞 收藏 7
写回复
7 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
yyyyzzzz_2002 2008-03-30
其实这样的存储过程有很多写法,但如果要写高效的还需要斟酌,请参照
/*表A
F_name F_Flag(bit型)
aaa 1
bbb 0

求一存贮过程,传入参数@Flag=1把F_Flag=1的记录查询出来,
传入参数@Flag=0 查询出F_Flag=0的记录,
传入参数@Flag=-1 查询出所有记录 */
use tempdb
go

if object_id('temp..#') is not null
drop table #
create table #(f_name varchar(10),f_flag bit )

insert into #
select 'aaa',1
union all
select 'bbb',0

select * from #

drop procedure dbo.query_data
go
create procedure dbo.query_data
@flag int
as
begin
set nocount on
if @flag in (1,0)
select * from # where f_flag = cast(@flag as bit)
else if @flag=-1
select * from #
else
raiserror('you intput @plag-=%d vlaue is error',16,1,@flag)
end
go

--exec dbo.query_data 0
--exec dbo.query_data 1
--exec dbo.query_data -1
--exec dbo.query_data -4
回复
-狙击手- 2008-03-30
有什么分别嘛,

呵呵,又没有什么复杂的判断


set @s = ' select * from a '
if(@flag=1 or @flag=0)
set @s = @s +' where F_Flag='+ltrim(@flag)

exec(@S)
回复
hery2002 2008-03-30
[Quote=引用 4 楼 happyflystone 的回复:]
--这个意思不成?


create proc wsp
@flag int
as
declare @s varchar(100)

if(@flag=1 or @flag=0)
set @s = 'F_Flag='+ltrim(@flag)
exec('select * from a where '+ @s)

--调用存储过程

exec wsp 1


[/Quote]
估计要把Where放在前面吧,呵呵

if(@flag=1 or @flag=0)
set @s = ' where F_Flag='+ltrim(@flag)
exec(' select * from a '+ @s)

回复
-狙击手- 2008-03-30
--这个意思不成?


create proc wsp
@flag int
as
declare @s varchar(100)

if(@flag=1 or @flag=0)
set @s = 'F_Flag='+ltrim(@flag)
exec('select * from a where '+ @s)

--调用存储过程

exec wsp 1

回复
Hegemon 2008-03-30
这样要写两段查询,我的意思是想拼字符串的方式
回复
pt1314917 2008-03-30

--字段写错。

create proc wsp
@flag int
as
if(@flag=1 or @flag=0)
select * from a where F_Flag=@flag
else
select * from a

--调用存储过程

exec wsp 1

回复
pt1314917 2008-03-30

create proc wsp
@flag int
as
if(@flag=1 or @flag=0)
select * from a where flag=@flag
else
select * from a

--调用存储过程

exec wsp 1
回复
相关推荐
基于java的企业人事管理系统设计--软件工程课程设计(含源码与论文设计).rar 1 引言 4 1.1 课程设计目标 4 1.2 编程工具(编程环境)介绍 4 1.3 实施时间及主要实施步骤 4 2 需分析 5 3 系统总体设计 6 4 数据库设计 6 5 主要功能模块的设计与实现 10 5.1 功能模块1详细设计(综合查询员工信息)..........................................................10 5.1.1 详细设计.......................................................................................................10 5.1.2 算法流程........................................................................................................15 5.1.3 界面设计及测试结果.....................................................................................15 6 调试分析 15 7 用户手册 16 8 测试结果 17 8.1 员工信息的添加...................................................................................................17 8.2 员工信息的修改...................................................................................................17 8.3 员工信息的删除...................................................................................................18 8.4 员工信息的综合查询...........................................................................................18 8.5 员工信息按性别统计的结果................................................................................19 8.6 员工信息按状态统计的结果...............................................................................19 8.7 员工信息按职称统计的结果................................................................................20 9 结论 20 10 参考文献 20
发帖
MS-SQL Server
创建于2007-09-28

3.3w+

社区成员

MS-SQL Server相关内容讨论专区
申请成为版主
帖子事件
创建了帖子
2008-03-30 05:26
社区公告
暂无公告