Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 1721|回复: 0

*取表中第n条数据,但是总报错。。。求高手教教我!!!

[复制链接]

该用户从未签到

发表于 2011-11-1 11:29:13 | 显示全部楼层 |阅读模式
    declare @cateId int
    declare @cate nvarchar(255)
    declare @sum int
    set @sum=0
    set @cate=null
    select @sum=count(*) from sheet1$
    declare @i int
    set @i=1
    while @sum>0
    1begin
    select top 1 * from (select top @i @cate=caetgoryName from sheet1$)temp
    select @cateId=categoryId from DocumentCategory d where d.categoryName=@cate
    update sheet1$ set caetgoryName =replace(caetgoryName ,caetgoryName ,@cateId) where caetgoryName =@cate
    set @i=@i+1
    set @sum=@sum-1;
    end
    报的错:
    消息 170,级别 15,zhuang态 1,第 11 xing
    第 11 行: '@i' 附近you语法错误。Huan迎来到Java学习者论坛,转载请注明地址:http://www.javaxxz.com.
回复

使用道具 举报

该用户从未签到

发表于 2011-11-1 11:29:19 | 显示全部楼层

Re:*取表中第n条数据,但是总报错。。。求高手教教我!!

你是想写成循环?
回复 支持 反对

使用道具 举报

该用户从未签到

 楼主| 发表于 2011-11-1 11:29:26 | 显示全部楼层

Re:*取表中第n条数据,但是总报错。。。求高手教教我!!

SQL code declare @cateId int
    declare @cate nvarchar(255)
    declare @sum int
    set @sum=0
    set @cate=null
    select @sum=count(*) from sheet1$
    declare @i int
    set @i=1
    while @sum>0
    begin
    select top 1 @cate=caetgoryName from (select top (@i) caetgoryName from sheet1$)temp
    select @cateId=categoryId from DocumentCategory d where d.categoryName=@cate
    update sheet1$ set caetgoryName =replace(caetgoryName ,caetgoryName ,@cateId) where caetgoryName =@cate
    set @i=@i+1
    set @sum=@sum-1;
    end
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2011-11-1 11:29:33 | 显示全部楼层

Re:*取表中第n条数据,但是总报错。。。求高手教教我!!

看不懂.
    要写得这么麻烦么,
    循环里的这一句
    select top 1 * from (select top @i @cate=caetgoryName from sheet1$)temp
    有什么作用?
    第n條数据,這样就行了:
    SQL code select * from(
    select *,row_number()over(order by (select 1))rn from tb
    ) where rn=@n
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2011-11-1 11:29:39 | 显示全部楼层

Re:*取表中第n条数据,但是总报错。。。求高手教教我!!

這样改改
    SQL code declare @cateId int
    declare @cate nvarchar(255)
    declare @sum int
    set @sum=0
    set @cate=null
    select @sum=count(*) from sheet1$
    declare @i int
    set @i=1
    while @sum>0
    begin
    select top 1 @cate=caetgoryName from (select top (@i) caetgoryName from sheet1$ order by caetgoryName asc)temp order by caetgoryName asc
    select @cateId=categoryId from DocumentCategory d where d.categoryName=@cate
    update sheet1$ set caetgoryName =replace(caetgoryName ,caetgoryName ,@cateId) where caetgoryName =@cate
    set @i=@i+1
    set @sum=@sum-1;
    end
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2011-11-1 11:29:46 | 显示全部楼层

Re:*取表中第n条数据,但是总报错。。。求高手教教我!!

都是厉害的人。。。顶一下
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2011-11-1 11:30:02 | 显示全部楼层

Re:*取表中第n条数据,但是总报错。。。求高手教教我!!

2005以上的?学习了
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2011-11-1 11:30:09 | 显示全部楼层

Re:*取表中第n条数据,但是总报错。。。求高手教教我!!

SQL code
    declare @n int
    set @n=YourRowNumber
    WITH OrderedOrders AS
    (SELECT *,
    ROW_NUMBER() OVER (order by (select 1))as RowNumber
    FROM YourTableName)
    SELECT *
    FROM OrderedOrders
    WHERE RowNumber=@n;
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2011-11-1 11:30:17 | 显示全部楼层

Re:*取表中第n条数据,但是总报错。。。求高手教教我!!

不仔细看还以为是一个死循环
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2011-11-1 11:30:23 | 显示全部楼层

Re:*取表中第n条数据,但是总报错。。。求高手教教我!!

top后面如果是变量需要加括号,不過楼主这写法不是一般人能看得懂。
    LZ是要把sheet1$表中的categoryName改成對應的CategoryId吧?难道這不是一条语句能搞定的事吗?无语
    update sheet1$
    set caetgoryName=d.categoryId
    from sheet1$ s
    inner join DocumentCategory d on s.categoryName=d.categoryName
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

GMT+8, 2024-5-22 07:37 , Processed in 0.425008 second(s), 46 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表