SQL SERVER 里的游标,他的数据集里写的select 语句可以用order by吗?

cfanyjr 2014-12-23 04:06:08
SQL SERVER 里的游标,他的数据集里写select 语句可以用order by吗?
...全文
405 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
cfanyjr 2014-12-23
  • 打赏
  • 举报
回复
看来order by是一个比较特殊的关键字啊。
發糞塗牆 2014-12-23
  • 打赏
  • 举报
回复
这个就是T-SQL逻辑步骤的范凑,加了order by之后,它已经不属于集合,而是cursor(我不知道应该译成指针还是游标),所以有问题的时候,你可以尝试使用top 99.9999 percent这个方法来避免这种方式,不加order by是一个集合,可以通过
cfanyjr 2014-12-23
  • 打赏
  • 举报
回复
为什么有些select语句,加了括号的也是可以运行的啊,如果这个语句我没用order by的话,语法检查也是通过的,也是可以运行的。真是奇怪啊~~
發糞塗牆 2014-12-23
  • 打赏
  • 举报
回复
發糞塗牆 2014-12-23
  • 打赏
  • 举报
回复
BEGIN DECLARE @pono NVARCHAR(100) DECLARE @itemno NVARCHAR(100) DECLARE My_Cursor CURSOR --定义游标 FOR SELECT top 99.99 percent a.pono,a.itemno FROM popodtl a,popo b WHERE a.MFID=b.FID AND b.pono IS NOT NULL and b.pono <>'' ORDER BY b.CreateDate desc OPEN My_Cursor; --打开游标 FETCH NEXT FROM My_Cursor INTO @pono,@itemno; --读取第一行数据 WHILE @@FETCH_STATUS = 0 BEGIN DECLARE @provfid INT DECLARE @cunzai INT DECLARE @fid INT
cfanyjr 2014-12-23
  • 打赏
  • 举报
回复
BEGIN
DECLARE @pono NVARCHAR(100)
DECLARE @itemno NVARCHAR(100)
DECLARE My_Cursor CURSOR --定义游标
FOR (SELECT a.pono,a.itemno FROM popodtl a,popo b  WHERE a.MFID=b.FID AND  b.pono IS NOT NULL and b.pono <>'' ORDER BY b.CreateDate desc )
OPEN My_Cursor; --打开游标
FETCH NEXT FROM My_Cursor INTO @pono,@itemno; --读取第一行数据
WHILE @@FETCH_STATUS = 0
BEGIN
DECLARE @provfid INT
DECLARE @cunzai INT
DECLARE @fid INT
语法检查是关键字 'ORDER' 附近有语法错误,这个提示的
發糞塗牆 2014-12-23
  • 打赏
  • 举报
回复
报错的代码呢?你这句是不报错
cfanyjr 2014-12-23
  • 打赏
  • 举报
回复
SELECT a.pono,a.itemno FROM popodtl a,popo b  WHERE a.MFID=b.FID AND  b.pono IS NOT NULL and b.pono <>''  ORDER BY b.CreateDate desc
单独运行是可以的,但是放在在数据集里提示‘’关键字 'ORDER' 附近有语法错误。‘’
中国风 2014-12-23
  • 打赏
  • 举报
回复
可以
declare cur1 CURSOR LOCAL FOR 

SELECT TOP 2 object_id AS ID,NAME FROM sys.tables ORDER BY ID

34,871

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧