存储过程牛人请进。
我想写一个存储过程,内容是现有一个存储过程假如叫SP_tool,该存储过程接受一个参数,如果传入参数叫TA,那么执行一个查找操作,在当前数据库中查找有没有名字叫TA的表,如果有   就自动建立一个存储过程对该表进行插入工作。如果没有这个名称的表   直接返回。请牛人们帮忙帮忙,我才开始学,很菜。谢谢啦!!!
------解决方案--------------------if exists(select 1 from sysobjects where name= 'ta ' and xtype= 'U ') 
 insert ta values(col1,col2,col3.....) 
 else 
 print  '没有ta表 '
------解决方案--------------------建表都有哪些字段,插入都插入什么值啊?楼主没说   
 create proc sp_tool(@tbname varchar(100)) 
 as 
 declare @sql varchar(1000) 
 if not exists(select 1 from sysobjects where xtype= 'U ' and name=@tbname) 
 begin 
 	set @sql= 'create table  '+@tbname+ '(id int identity(1,1)) ' 
 	exec(@sql) 
 end   
 exec sp_tool  'ta ' 
------解决方案--------------------create procedure sp_tool ta varchar(1000) 
 as 
 if exists(select 1 from sysobjects where name= 'ta ' and xtype= 'U ') 
 insert ta values(col1,col2,col3.....) 
 else 
 print  '没有ta表 '
------解决方案--------------------  create proc test(@name sysname) 
 as 
 begin 
 if exists(select 1 from sysobjects where name=@name and xtype= 'U ') 
 exec( 'insert  '+@name ' select * from tb '+ ') '--有把tb表数据导入变量表 
 else 
 print  '没有此表 ' 
 return 
 end
------解决方案----------------------把它改成存储过程,不知道是否符合你的要求,呵呵 
 declare @TA varchar(30) 
 set @TA= 'a '   
 if exists(select 1 from sysobjects where name=@TA and xtype= 'U ') 
 begin 
 	declare @s varchar(4000) 
 	declare @s1 varchar(2000) 
 	declare @s2 varchar(2000) 
 	set @s= ' ' 
 	set @s1= ' ' 
 	set @s2= ' '   
 	select  @s2=@s2+ '@ '+ sc.name + ', ', 
 		@s1=@s1+ '@ '+ sc.name + '  '+(case when st.name like  '%char% ' then st.name +  '( '+ cast(sc.length as varchar) +  ') '  
 			when st.name like  '%decimal% ' then st.name + '( '+ cast(sc.xprec as varchar) +  ', ' + cast(sc.xscale as varchar) +  ') ' 
 			else st.name end)+ ', ' 
 	from dbo.syscolumns sc  
 		join dbo.sysobjects so on sc.id=so.id and so.name=@TA 
 		join dbo.systypes st on st.xtype=sc.xtype and st.xusertype=sc.xusertype 
 	where sc.status & 128=0		--128:标识列   
 	if @s1 <>  ' ' set @s1=left(@s1,len(@s1)-1) 
 	if @s2 <>  ' ' set @s2=left(@s2,len(@s2)-1)   
 	set @s= 'Create Proc Insert_ '+ @TA +  '  '+@s1+ ' AS  
 		 '+ 'insert into  '+ @TA +  ' values( '+@s2+ ') ' 
 	exec(@s) 
 end  
 else print  '没有 '+@TA+ '表 '