日期:2014-05-17  浏览次数:20725 次

这样的存储过程在SQL2000里面是不是没效果?
SQL code

CREATE PROCEDURE spCustomerList
@sqlWhere varchar(300)
 AS 
  Declare @sql varchar(500) 
  set @sql = 'SELECT * FROM [Customer] ' 
  if (@sqlWhere!='') 
   declare @TempID int
     begin 
       select @TempID=count(1)  from [Customer] where@Sqlwhere 
      if @TempID=0
  return 0
     else
return 1
     
     end

GO



不知道为什么,就是返回不了值。。是不是在SQL2000里不能这样写。。郁闷。。我想语法应该没错吧!!

------解决方案--------------------
看不懂~~~~~~
------解决方案--------------------
SQL code
CREATE PROCEDURE spCustomerList
@sqlWhere varchar(300) , @rtn int OUTPUT
AS
begin 
  Declare @sql varchar(500) 
  if (@sqlWhere is not null and len(@sqlWhere) > 0) 
     begin 
       declare @TempID int
       set @sql = 'select @a = count(1)  from [Customer] where ' + @Sqlwhere 
       exec sp_executesql @sql , N'@a int output' , @TempID output  
       if @TempID = 0
          return 0
       else
          return 1
     end
end
GO