SQL 存储过程变量

我知道你的@b和@b1是这个表的变量,你可以尝试输出@b和@b1看看是什么

set @bb1=(select count(*) FROM Cxuqiu where ?@b='1' and @b1='1')

select ?@b,@b1

或者输出整个语句看看是否有问题:

declare?@bb1?int

declare?@b?varchar(12)

declare?@b1?varchar(30)

declare?@sql?varchar(1000)

set?@b?=?'id'

set?@b1?=?'str0'

set?@bb1=(select?count(*)?FROM?Cxuqiu?where?@b='1'?and?@b1='1')

select?@sql?=?'(select?count(*)?FROM?Cxuqiu?where?'+?@b?+'?=?''1''?and?'+?@b1?+'?=?''1'')'

print?@sql

select?@bb1

--上面的set?是我随便写的,你把你的列值代入进去即可。 主要是print @sql这句,打印输出你的动态SQL语句,然后执行这个打印出来的结果才能发现问题。