DECLARE @SQL NVARCHAR(1000)
DECLARE @SQL_COUNT INT
SELECT @SQL_COUNT=NULL
SET @SQL=SET @SQL=N'SELECT @SQL_COUNT=COUNT(*) from Customers where Country=''usa'''
***********
***********
IF(@SQL_COUNT>0)
**************
ELSE
**********
======================================================================================
就是想统计出@SQL的记录数,接着根据记录数做其他的事情,
这样的sql查询语句是没有必要写成动态的,但我只是想简单表达一下我的情况

解决方案 »

  1.   

    SET @SQL=SET @SQL=N'SELECT @SQL_COUNT=COUNT(*) from Customers where Country=''usa'''
    ==================================================================================
    这个如果执行了不就得到一个@SQL_COUNT吗?
    他就记录了满足where Country=''usa'''的记录啊/
    但我不知道怎样执行他
      

  2.   

    用EXEC sp_executesql @SQL,老说我@SQL_COUNT没定义
      

  3.   

    Set @Sqlstr=N'select @NowAreaID=AreaIDfrom [dbo].['+@Table_TermRecord+'] 
                                                 where TermID='''+@TermID+''' and TypeID=16 and TDate='''+@TDate+''' and RecordNumber='''+@OldRecordNumber+'''' 
                          exec sp_executesql @Sqlstr,N'@NowAreaID int out',
                                                                           @NowAreaID out