为了账号安全,请及时绑定邮箱和手机立即绑定

存储过程执行问题

存储过程执行问题

慕森王 2018-12-06 23:14:10
1 alter proc Usp_sqlLs 2 @columnname nvarchar(50) --判断是按哪一列排序的 3 as 4 begin 5 select row_number() over(order by @columnname asc) as rnum,* from books 6 end 7 8 9 declare @cl nvarchar(50) 10 select @cl='PublishDate' 11 exec Usp_sqlLs @cl 有这么一个存储过程,排序的列是我动态输入的,为什么排序没有效果? 但是换成动态SQL语句拼接的话就能实现,求原理......
查看完整描述

2 回答

?
肥皂起泡泡

TA贡献1829条经验 获得超6个赞

select row_number() over(order by @columnname asc) as rnum,* from books 
等同于
select row_number() over(order by 'xxxxx' asc) as rnum,* from books 
@columnname在这里只是一个字符串常量,并不是你的字段名
 
查看完整回答
反对 回复 2019-01-07
  • 2 回答
  • 0 关注
  • 469 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信