存贮过程请教高手
CREATE   PROCEDURE      qd_proaddcl 
 @cltable1   char(10), 
 @pzhm1            char(8), 
 @rq1                  char(10), 
 @pzlb1            char(12), 
 @shrq1            char(10), 
 @pjhm1            char(10), 
 @zdr1               char(8), 
 @shr1               char(8), 
 @khhm1            char(8), 
 @khmc1            char(40), 
 @zh1                  char(8), 
 @mc1                  char(30), 
 @gg1                  char(4), 
 @dw1                  char(6), 
 @sl1                  numeric(12,2), 
 @dj1                  numeric(12,4), 
 @je1                  numeric(12,2),                   
 @bz1                  char(28), 
 @jsr1               char(8)   
 as    
 DECLARE      @cltable2   char(8) 
 select      cltable2=@cltable1   
 insert   into   cltable2      
 (pzhm,rq,pzlb,shrq,pjhm,zdr,shr,khhm,khmc,zh,mc,gg,dw,sl,dj,je,bz,jsr)   values   (@pzhm1,@rq1,@pzlb1,@shrq1,@pjhm1,@zdr1,@shr1,@khhm1,@khmc1,@zh1,@mc1,@gg1,@dw1,@sl1,@dj1,@je1,@bz1,@jsr1) 
 GO   
 用CLTABLE1传递表名,该怎样写?insert   into   cltable2   不行.
------解决方案--------------------用動態SQL語句     
 CREATE PROCEDURE  qd_proaddcl 
 @cltable1 VarVarchar(10), 
 @pzhm1    Varchar(8), 
 @rq1      Varchar(10), 
 @pzlb1    Varchar(12), 
 @shrq1    Varchar(10), 
 @pjhm1    Varchar(10), 
 @zdr1     Varchar(8), 
 @shr1     Varchar(8), 
 @khhm1    Varchar(8), 
 @khmc1    Varchar(40), 
 @zh1      Varchar(8), 
 @mc1      Varchar(30), 
 @gg1      Varchar(4), 
 @dw1      Varchar(6), 
 @sl1      numeric(12,2), 
 @dj1      numeric(12,4), 
 @je1      numeric(12,2),       
 @bz1      Varchar(28), 
 @jsr1     Varchar(8)   
 as  
 DECLARE  @S Varchar(8000) 
 Select @S =  'insert into  ' + @cltable1 +  ' (pzhm,rq,pzlb,shrq,pjhm,zdr,shr,khhm,khmc,zh,mc,gg,dw,sl,dj,je,bz,jsr) values ( ' ' ' + @pzhm1 +  ' ' ', ' ' ' + @rq1 +  ' ' ', ' ' ' + @pzlb1 +  ' ' ', ' ' ' + @shrq1 +  ' ' ', ' ' ' + @pjhm1 +  ' ' ', ' ' ' + @zdr1 +  ' ' ', ' ' ' + @shr1 +  ' ' ', ' ' ' + @khhm1 +  ' ' ', ' ' ' + @khmc1 +  ' ' ', ' ' ' + @zh1 +  ' ' ', ' ' ' + @mc1 +  ' ' ', ' ' ' + @gg1 +  ' ' ', ' ' ' + @dw1 +  ' ' ', ' + Cast(@sl1 As Varchar) +  ', ' + Cast(@dj1 As Varchar) +  ', ' + Cast(@je1 As Varchar) +  ', ' ' ' + @bz1 +  ' ' ', ' ' ' + @jsr1 +  ' ' ') ' 
 EXEC(@S) 
 GO
------解决方案--------------------try:   
 CREATE PROCEDURE  qd_proaddcl 
 @cltable1 char(10), 
 @pzhm1    char(8), 
 @rq1      char(10), 
 @pzlb1    char(12), 
 @shrq1    char(10), 
 @pjhm1    char(10), 
 @zdr1     char(8), 
 @shr1     char(8), 
 @khhm1    char(8), 
 @khmc1    char(40), 
 @zh1      char(8), 
 @mc1      char(30)