SQLSERVER2008在存储过程中执行动态SQL语句的问题 我想要达到的效果就是:在根据条件返回记录数后,能够根据返回的记录数去继续执行下面的SQL语句,进而返回结果,同时在页面上显示的结果为10:
CREATE proc select_areasAssociation_sort
@condition varchar(100)
as
declare @regularSortCount int,@sortCount int,@sql varchar(500)
--返回固态排名的记录数
set @sql='select '+@regularSortCount+'=COUNT(1) from AreasAssociation
where RegularSort is not null and RegularSort>0 and '+@condition
exec @sql
--返回动态排名的记录数
set @sql='select '+@sortCount+'=COUNT(1) from AreasAssociation
where Sort is not null and Sort>0 and '+@condition
exec @sql
--当动态排名和固定排名都不存在时
if(@regularSortCount=0 and @sortCount=0)
begin
--select top 10 * from AreasAssociation where PositionID=2
--and CrabType=1 ORDER BY newID()
return
end
--当固定排名存在而动态排名不存在时
else if(@regularSortCount>0 and @sortCount=0)
begin
。。。。。。。
但是执行到”--返回固态排名的记录数”的时候就报错了,各位大侠给点建议吧。。。