CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  应用实例

update语句更新不了

楼主aflyingpig(毛毛)2005-07-04 15:18:09 在 MS-SQL Server / 应用实例 提问

表a  
    学号       课程       成绩  
    001         C语言       优  
    002         C语言       优  
    003         C语言       良  
    ................  
    ...............  
    100         C语言       差  
  表b  
  学号       课程           成绩       考场  
    001         C语言                       1  
    002         C语言                       2      
    003         C语言                       1  
    ........................  
    ........................  
    100         C语言                       3  
   
  我在查询分析器中用  
    update   表b  
        set   成绩   =   表a.成绩  
    from   表a,表b  
  where   表a.学号   =   表b.学号   and   表a.课程   =   表b.课程  
  提示  
  所影响的行数为   3000   行  
  但是用查询表b中C语言的成绩还是空的,没有更新,不知语句错在哪里?  
   
  问题点数:20、回复次数:10Top

1 楼lsxaa(小李铅笔刀)回复于 2005-07-04 15:19:37 得分 5

update   表b  
        set   成绩   =   isnull(成绩,'')+表a.成绩  
    from   表a,表b  
  where   表a.学号   =   表b.学号   and   表a.课程   =   表b.课程Top

2 楼wuzd(兀)回复于 2005-07-04 15:28:07 得分 2

没有commit吧?Top

3 楼zengzhengliang(啊牛)回复于 2005-07-04 16:43:10 得分 5

顶Top

4 楼aflyingpig(毛毛)回复于 2005-07-04 17:08:54 得分 0

用这个还是一样呀  
  update   表b  
        set   成绩   =   isnull(成绩,'')+表a.成绩  
    from   表a,表b  
  where   表a.学号   =   表b.学号   and   表a.课程   =   表b.课程  
  我直接用  
  update   表b  
      set   成绩   =   '优'  
  是能更新的Top

5 楼paoluo(一天到晚游泳的鱼)回复于 2005-07-04 17:15:15 得分 2

你用  
   
  Select   表a.成绩   from   表a,表b   where   表a.学号   =   表b.学号   and   表a.课程   =   表b.课程  
   
  看看有没有数据??Top

6 楼aflyingpig(毛毛)回复于 2005-07-04 17:49:12 得分 0

Select   表a.成绩   from   表a,表b   where   表a.学号   =   表b.学号   and   表a.课程   =   表b.课程  
  有数据  
  在查询分析器中用  
    update   表b  
        set   成绩   =   表a.成绩  
    from   表a,表b  
  where   表a.学号   =   表b.学号   and   表a.课程   =   表b.课程  
  提示  
  所影响的行数为   3000   行  
  但是用查询表b中C语言的成绩还是空的,没有更新  
  用update   表b  
          set   成绩   =   '优'  
  提示  
  所影响的行数为   3000   行  
  用查询表b中C语言的成绩也全部更新了Top

7 楼mengzulin(Julian)回复于 2005-07-05 10:53:41 得分 3

你可能update了其他数据库了,用  
  use   datebasename  
  update   表b  
        set   成绩   =   表a.成绩  
    from   表a,表b  
  where   表a.学号   =   表b.学号   and   表a.课程   =   表b.课程Top

8 楼tian790317()回复于 2005-07-05 15:53:52 得分 3

mengzulin(Julian)   和lsxaa(小李铅笔刀)   都有可能Top

9 楼aflyingpig(毛毛)回复于 2005-07-05 16:27:51 得分 0

问题解决,是表a中的学号(nvchar)和表b中的学号(varchar)数据类型不一样Top

10 楼paoluo(一天到晚游泳的鱼)回复于 2005-07-05 16:34:40 得分 0

回复人:   aflyingpig(毛毛)   (   )   信誉:100     2005-7-5   16:27:51     得分:   0      
     
     
         
  问题解决,是表a中的学号(nvchar)和表b中的学号(varchar)数据类型不一样  
   
       
  -----------------------------------  
  如果说由于类型的问题的话,Update有影响,我开始说的这个查询  
   
  Select   表a.成绩   from   表a,表b   where   表a.学号   =   表b.学号   and   表a.课程   =   表b.课程  
   
  应该也是有影响的啊Top

相关问题

  • 关于用UPDATE语句不能更新的问题!
  • 用Update语句能不能进行批量更新的??
  • update更新语句!!!!不知道怎么写!
  • update更新语句!!!!不知道怎么写!
  • 关用用UPDATE语句更新的事
  • Access表更新update语句问题
  • update语句更新的记录数
  • 更新语句
  • 有时候SQL的update语句更新不成功,是什么原因?
  • SQL语句中的UPDATE不是这么用吗?我的语句不出错误,但就是实现不了更新。大虾们,HELP ME!!非常急用啊。

关键词

  • 学号
  • 课程
  • 查询
  • 数据
  • 成绩
  • bwhere
  • c语言
  • 更新
  • 表
  • update

得分解答快速导航

  • 帖主:aflyingpig
  • lsxaa
  • wuzd
  • zengzhengliang
  • paoluo
  • mengzulin
  • tian790317

相关链接

  • SQL Server类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo