CREATE procedure meng1
@gs1 varchar(50),
@gs2 varchar(50),
@gs3 varchar(50),
@a1 int output
as
begin
declare @str1 varchar(5000)
set @str1=''
if @gs1<>''
set @str1=@str1+' and 公司1=@gs1'
if @gs2<>''
set @str1=@str1+' and 公司2=@gs2'if @gs3<>''
set @str1=@str1+' and 公司3=@gs3'
end;
select @a1=count(*) from user1 where 1=1 +@str1
GO
我想得到count(*)的值报错!
@gs1 varchar(50),
@gs2 varchar(50),
@gs3 varchar(50),
@a1 int output
as
begin
declare @str1 varchar(5000)
set @str1=''
if @gs1<>''
set @str1=@str1+' and 公司1=@gs1'
if @gs2<>''
set @str1=@str1+' and 公司2=@gs2'if @gs3<>''
set @str1=@str1+' and 公司3=@gs3'
end;
select @a1=count(*) from user1 where 1=1 +@str1
GO
我想得到count(*)的值报错!
解决方案 »
- 哪些系统表是SQL SERVER的常用表?
- 兄弟们帮个忙啊。来看一下
- 只安装msde,没有安装sqlserver的客户端工具,怎样使用查询分析器
- 有没有什么办法让查询真正执行时,查询到匹配的一条就直接返回结果集,而不是先全查出然后选1条.
- 请问这种情况会出现吗,如何避免,最好有代码,万分焦急
- 高手们请教一个复杂问题
- 查询结果如何按照查询条件排序?
- 生成视图或者临时表的问题,急!
- ???表中有一些数据并按升序排列了,我想取得每条数据的排名,并单独按名称关联存放于一个字段中,如第一条记录排名为1并存于表中一个
- 两条update语句在一个string里,执行时自动具有事务么?
- 关于行转列的问题
- 安装sql2000出错
@gs1 varchar(50),
@gs2 varchar(50),
@gs3 varchar(50),
@a1 int output
as
declare @a int
begin
declare @str1 nvarchar(4000)
set @str1=''
if @gs1<>''
set @str1=@str1+' and 公司1='''+@gs1+''''
if @gs2<>''
set @str1=@str1+' and 公司2='''+@gs2+''''if @gs3<>''
set @str1=@str1+' and 公司3='''+@gs3+''''
end;
select @str1='select @a=count(*) from user1 where 1=1 '+@str1
exec sp_executesql @str1,N'@a int out',@a1 out
GO
这里有问题~
先取出来count(*)后再赋值给@a1