关于exec 执行时的特殊字符问题,高手请进!!!
表: 
 CREATE   TABLE   [dbo].[p_group_prv]   ( 
 	[groupid]   [varchar]   (32)   COLLATE   Chinese_PRC_CI_AS   NOT   NULL   , 
 	[privilege]   [varchar]   (32)   COLLATE   Chinese_PRC_CI_AS   NOT   NULL    
 )   ON   [PRIMARY]     
 存储过程: 
 create   proc   addinfo      
 @@aa   varchar(20) 
 @@bb   varchar(20)   
 as   
 declare   @tablename   varchar(20)   
 set   @tablename= 'p_group_prv '   
 exec( '   insert   into       '+@tablename+ '   values( ' ' '+@aa+ ' ' ', ' ' '+@bb+ ' ' ') ')   
 go     
 我在应用程序里调用该存储过程一般情况下没有问题   ,但如果传给存储过程的两个参数里含有    '   时就会出错,请问如何解决
------解决方案--------------------可以替换一下先,将一个 '变成两个 ' '   
 set @aa = replace(@aa, ' ' ' ', ' ' ' ' ' ')
------解决方案--------------------可是我不知道是否只有  ' 这个特殊字符时会报错,有没有一个公用的方法能把所有的特殊字符格式化   
 ---------------------------   
 只有这个字符( ')会报错,这是SQL里字符串的界定符,只能成对出现,写字符串时,如果字符串出现的( '),要用两个( ')表示,可以理解第一个( ')为转义符,例如: 
 print  'Let ' 's go '