一个存储过程问题?
我准备写一个存储过程,达到输出任意的表的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、原先少了表列。。*