一个存储过程问题?
我准备写一个存储过程,达到输出任意的表的N个记录 
 但是始终行不通,在需要传递参数的存储过程中 就还没有成功过 那位大虾帮看看 
 create   proc   SkyCms 
 @TableName   VARCHAR(200), 
 @RowNumber   int 
 As    
 declare   @TSql   varchar(100) 
 Set   @Tsql= "Select   Top    "+@RowNumber+ "   From    "+@TableName 
 Exec(@Tsql) 
 go
------解决方案----------------------试试 
 create proc SkyCms 
 @TableName VARCHAR(200), 
 @RowNumber int 
 As  
 declare @TSql varchar(8000) 
 Set @Tsql= 'Select Top  '+convert(varchar(8000),@RowNumber)+ '* From  '+ @TableName 
 Exec(@Tsql) 
 go     
------解决方案----------------------try   
 create proc SkyCms 
 @TableName VARCHAR(200), 
 @RowNumber int 
 As  
 declare @TSql varchar(8000) 
 Set @Tsql= 'Select Top  '+rtrim(@RowNumber)+ ' * From  '+@TableName 
 Exec(@Tsql) 
 go
------解决方案--------------------在以上SQL中的目的是转换数据类型
------解决方案--------------------create proc SkyCms 
 @TableName VARCHAR(200), 
 @RowNumber int 
 As  
 declare @TSql varchar(8000) 
 Set @Tsql= 'Select Top  '+rtrim(@RowNumber)+ ' * From  '+@TableName 
 Exec(@Tsql) 
 go 
------解决方案--------------------对了。。 
 1、原来的@RowNumber是int型变量,跟目标串连接时,要转换成char()之类的类型再操作; 
 2、原先少了表列。。*