不好意思大家了,我整理一下语句 一张表里有几个字段        a    b   c   d    e  
------------------------------- 
     1    2    3   4   11  
-------------------------------- 
     5    6    7   4   12  
     8    9    10  4   13  
我要写一个SQL语句,要更新字段值,  我要先条件语句,要搜索符合a=1,b=2,c=3的字段,然后把3条记录的字段e的值更改一下  不知道高手有什么办法呢??谢谢大家指教一二

解决方案 »

  1.   

    update table set e = 修改值 where a=1 and b=2 and c=3 
      

  2.   

    我说的是3条记录的E字段都需要修改啊,第一条是符合where a=1 and b=2 and c=3 ,可下面2条不符合的说
      

  3.   

    create procedure P_Name
    as
    begin
    select * from table where a=1 and b=2 and c=3
    update table set e=修改值
    end
      

  4.   

    不太明白楼主意思
    既然是要按条件更新,那么就不会更新所有记录的某个字段值。如果要更新所有记录的,那么就不要限制条件。我帮你“翻译”一下,看楼主是不是这个意思?找出符合条件a=1,b=2,c=3的记录的d和e字段的值,然后,根据该记录中d字段的值,如果其他记录中d字段值与之相同,则将其他记录中的e字段值改为该记录中e字段的值。如果是这个意思的话,那么,需要执行不止一条语句:create procedure P_Name 
    as 
    begin 
    Declare @d int, @e int
    Select @d = d, @e = e From Table Where a = 1 and b = 2 and c = 3
    Update Table Set e = @e Where d = @d
    end说明:
    1、上述过程取材于楼上的朋友。
    2、上述过程假设目标数据库是MS SQL Server
    3、如果需要只执行一条语句,那么可以试试子查询的方式,不过我电脑上没有MSSQL,无法测试,就不再提供可能误导他人的语句了。呵呵
      

  5.   

    突然想到一个问题,如果表中符合条件a=1,b=2,c=3的记录不止一条的话,还需要使用循环,汗
      

  6.   

    Update Table Set e = value 就是修改三条记录的值啊