询问一SQL语句,高手请进
为 何 如 下 代 码 有 语 法 错 误:
declare @i int
set @i = 1
select top @i from Table1
另外:如 果 当 前 登 陆 用 户 没 有 对 Table1 的 select权 限,只 有 对 存 储 过 程 的 执 行 权 限 , 因 此 存 储 过 程 中 不 能 用 如 下 代 码 实 现 ( 提 示 没 有 对 Table1 的 select 权 限 )
declare @i int
declare @s varchar(100)
set @int = 1
set @s = 'select top ' + convert(varchar(5), @i) + ' from Table1'
exec(@s)
但 如 果 在 该 存 储 过 程 中 用
select top 1 from Table1
则 能 正 常 运 行 , 没 有 提 示 权 限 不 够 的 问 题
问: 如 何 能 在 存 储 过 程 中 根 据 传 入 的 一 个 整 形 数 量 来 获 得 数 据 的 top 条 数 ?( 前 提 是 当 前 登 陆 用 户 只 有 对 该 存 储 过 程 的 执 行 权 限 , 而 没 有 对 需 要 操 作 的 表 的 select 权 限 与 update 等 权 限 )
如 果 分 不 够 可 以 再 加 ,谢 谢