0

私のDBには同一の行があります。1行だけ更新する必要があります。

私はそのようにしていますが、うまくいきません。

update stat.stat_dial
set 
time = 200
where rownum = (select *  from  stat.stat_dial
where sesion= '0/1/0/3886.2241_D90EC01900C01899'
and rownum =1
order by time desc)
4

5 に答える 5

4

現在、これを確認することはできませんが、おそらくうまくいくでしょう:

update stat.stat_dial
set time = 200
where rowid = 
    (select rowid from 
        (select rowid  from  stat.stat_dial 
                      where sesion= '0/1/0/3886.2241_D90EC01900C01899'
                         order by time desc)
        where rownum = 1 )
于 2013-10-09T10:22:14.590 に答える
0
UPDATE  stat.stat_dial 
    SET   time=200
    where sesion=? and login =?
    and  rowid = (SELECT min(rowid) 
            FROM stat.stat_dial sd1
            where sd1.sesion = ? 
            or sd1.sesion= ? )

それは私のために働く。皆さん、ありがとうございました。

于 2013-10-10T05:55:00.950 に答える
0

あなたのクエリは本当に小さな問題です。これを試してください:

 update stat.stat_dial
 set 
 time = 200
 where rownum = (select rownum  from  stat.stat_dial
 where sesion= '0/1/0/3886.2241_D90EC01900C01899'
 and rownum =1
 order by time desc)
于 2013-10-09T12:59:41.533 に答える