CREATE   PROCEDURE Pro_SelectTable
@TblN VarChar(8000),
@SelectWhere VarChar(8000)
AS 
Declare @SqlStr VarChar(8000) 
Declare @Pointpre int
Declare @Pointcur int
Declare @Tbcur varchar(100)
SET @Pointpre=1
SET @Pointcur=1
SET @Tbcur=''
SET @SqlStr=''IF  @TblN<>''
  BEGIN
   SET @Pointcur=charindex(',',@TblN,@Pointpre)
   
   IF @Pointcur=0
     SET @SqlStr=@SqlStr+Char(9)+'Select *  from'+char(9)+@TblN /*就一个查询表的情况*/
   ELSE
     BEGIN
     WHILE (@Pointcur<>0)
     BEGIN
     SET @Pointcur=charindex(',',@TblN,@Pointpre)
     IF @Pointcur<>0     SET @Tbcur=substring(@TblN,@Pointpre,@Pointcur-@Pointpre) /*得到非最后一个查询表的名字*/
     ELSE
     SET @Tbcur=substring(@TblN,@Pointpre,LEN(@TblN)-@Pointpre+1) /*得到最后一个查询表的名字*/
     SET @Pointpre=@Pointcur+1
     
     IF @SqlStr<>''     SET @SqlStr=@SqlStr+Char(9)+Char(9)+' UNION  ALL Select *  from'+char(9)+@Tbcur
--UNION ALL 放到字符串里面
     ELSE
     
     SET @SqlStr=@SqlStr+Char(9)+'Select *  from'+char(9)+@Tbcur
     
     CONTINUE
     END
     END  
  END
/*IF @SelectWhere<>''
     SET @SqlStr=@SqlStr+Char(9)+'Where'+Char(9)+@SelectWhere
*/exec(@SqlStr)GO