救证一句很简单但是不寻常的语句
如下   in   用法是正确的   
 select   *   from   数据表   where   字段名   in( '值1 ', '值2 ', '值3 ')   
 假如   
 CREATE   PROCEDURE   [dbo].[Mater] 
 ( 
             @Start   nvarchar(100) 
 ) 
 AS 
       select   *   from   数据表   where   字段名   in(@Start) 
 GO   
 而    '值1 ', '值2 ', '值3 '   是作为传入值给@Start的参数,如何让select语句正常查询出正确的结果?
------解决方案--------------------CREATE PROCEDURE [dbo].[Mater] 
 ( 
     @Start nvarchar(100) 
 ) 
 AS 
   exec( 'select * from 数据表 where 字段名 in( '+@Start+ ') ') 
 GO
------解决方案----------------------这种情况应该用动态sql 
 CREATE PROCEDURE [dbo].[Mater] 
 ( 
     @Start nvarchar(100) 
 ) 
 AS 
   exec( 'select * from 数据表 where 字段名 in( '+@Start+ ') ') 
 --这句话相当于select * from 数据表 where 字段名 in( '值1 ', '值2 ', '值3 ' ) 
 GO   
 --但是,你那个sql已经是动态的了,如果再这样写的话就是 
 exec( 'exec( ' '…… ' ') ') 
 这样的话,你那个存储过程又要改了。