select top 后需要加参数,怎么办?

如何学习存储过程。无他,多写,多做。多实践。

掌握了各种SQL命令,理解连接的原理、子查询的原理等SQL基本知识,就具备写存储过程的基础.

其次,应该了解所使用的数据库管理系统的逻辑结构,譬如数据库的系统表,系统视图,系统存储过程,
系统函数等,这些都是必须了解的,再深一点就是表、索引等数据库对象的存储原理,不同的数据库产品是不尽相同的;
再次,存储过程经常要处理数据的计算,存储,传递等算法问题,所以数据结构和算法也必须有一定的基础。

select top 后面不能加参数,只能使用一个具体的int类型的数字。如果我们想实现top后面跟参数的功能,
就只有构造sql字符串,然后使用exec来执行了。比如:

declare @n int
declare @sql nvarchar(1000)
set @n=10
set @sql='select top '+cast(@n as varchar(10))+' * from 表A'
exec(@sql)

如果我们使用rowcount来解决,就显的很优雅
declare @n int
set @n=10
set rowcount @n
select * from 表A

posted @ 2022-07-30 08:14  码好每一天  阅读(93)  评论(0编辑  收藏  举报