create proc procName
@MaxCount int
as
DECLARE @sql varchar(8000)
SET @sql = 'select top ' + rtrim(@MaxCount) + ' * from table '
EXEC(@sql)
GO
@MaxCount int
as
DECLARE @sql varchar(8000)
SET @sql = 'select top ' + rtrim(@MaxCount) + ' * from table '
EXEC(@sql)
GO
IF OBJECT_ID(N'tbTest') IS NOT NULL
DROP TABLE tbTest
IF OBJECT_ID(N'spTest') IS NOT NULL
DROP PROC spTest
GO
----创建测试数据
CREATE TABLE tbTest(id int,name varchar(10))
insert tbTest
select 1,'a' union all
select 2,'b' union all
select 3,'c' union all
select 4,'d' union all
select 5,'e'
GO----创建存储过程
CREATE PROC spTest @MaxCount int
as
DECLARE @sql varchar(8000)
SET @sql = 'select top ' + rtrim(@MaxCount) + ' * from tbTest '
EXEC(@sql)
GO----调用存储过程
DECLARE @MaxCount int
SET @MaxCount = 2
EXEC spTest @MaxCount
GO----清除测试环境
DROP TABLE tbTest
DROP PROC spTest/*结果
id name
----------- ----------
1 a
2 b
*/