可以用case 语句来实现
解决方案 »
- identity(1,1)如何设置可插入
- 无法创建比允许的最大值还大的工作表行。请用 ROBUST PLAN 提示重新提交查询。 错误是什么原因
- 让人郁闷到死的问题
- 统计时间差语句求助
- T-SQL SQL Server 2005 插入/查询 Access 中 某个表的一行
- 求Sql语句一条。。。。。。。。。。。
- SQL SERVER的SQL语言中GROUP BY 子句是不是必须包括所有的选中的列?
- 求SQL语句
- 怎么给sql server增加用户并给其设定自己登陆的密码?并指定其拥有读或写的权限?
- SQL7中,用Enterprise manage编辑数据,为删除行记录命令不能用(被Disable?))
- 我要做一个关于进销存的软件,帮我看看我的数据库表
- 请问在visio中建立的数据库模型如何生成sql语句呀
然后用EXEC来执行
对存储过程确实比较生疏,手边一本书讲得太简单,请你讲得详细一点,谢谢!
你可以参照下面的语句写一个
在pubs库里
DECLARE @title_id AS NVARCHAR(50)
DECLARE @SQLstr AS NVARCHAR(400)
Set @title_id="PS3333"
SET @SQLstr="select * from titleauthor Where title_id='" + @title_id+"'"
Exec (@SQLstr)
declare @sql varchar(4000)
set @sql='select id,userid,type,number,brand,writetime,corporation,free,pic from stock where 1=1 and '
if @seek = '1' ----如果是精确查询
@sql=@sql+'type='+@type+'and '
else ----如果是模糊查询
@sql=@sql+'type='+@type+'% and '
if @brand<>'' ----如果用户输入了品牌
@sql=@sql+'brand='+@brand+'and '
if @class<>'' ----如果用户选择了类型
@sql=@sql+'classcode='+@class+'and '
set @sql=left(@sql,len(@sql)-5)
exec (@sql)
declare @sql varchar(4000)
set @sql='select id,userid,type,number,brand,writetime,corporation,free,pic from stock where '
if @seek = '1' ----如果是精确查询
@sql=@sql+'type='+@type+'and '
else ----如果是模糊查询
@sql=@sql+'type='+@type+'% and '
if @brand<>'' ----如果用户输入了品牌
@sql=@sql+'brand='+@brand+'and '
if @class<>'' ----如果用户选择了类型
@sql=@sql+'classcode='+@class+'and '
set @sql=left(@sql,len(@sql)-5)
exec (@sql)
@brand varchar (50), ----品牌
@type varchar (50), ----型号
@class varchar (50), ----类型
@time varchar (50), ----时间段
@seek varchar (50) ----是精确查询?模糊查询
ASdeclare @a varchar(100),@b varchar(100),@c varchar(100)
if @seek = '1' ----如果是精确查询
begin set @a = @type end
else ----如果是模糊查询
begin set @a =@type +'%' end
if @brand<>'' ----如果用户输入了品牌
begin set @b = @brand end
else
begin set @b ='%' end
if @class<>'' ----如果用户选择了类型
begin set @c = @class end
else
begin set @c='%' end
select id,userid,type,number,brand,writetime,corporation,free,pic from stock
where type like @a and brand like @b and classcode like @cgo