这个存储过程错在哪里?
来源:百度知道 编辑:UC知道 时间:2024/05/11 22:17:05
通过传参来选择头N行数据,可是这样写不行?
CREATE PROCEDURE fenye
(
@num int
)
AS
select top @num * from Customers
CREATE PROCEDURE fenye
(
@num int
)
AS
select top @num * from Customers
出错的原因是Top后面不能跟变量 , 而必须是常数才可
建议通过EXEC执行SQL字串的方式实现此需求 , 做法如下 :
CREATE PROCEDURE fenye ( @num INT )
AS
EXEC('select top ' + @num + ' * from Customers')