| Oracle FAQ | Your Portal to the Oracle Knowledge Grid | |
Home -> Community -> Usenet -> c.d.o.misc -> Re: column update order
On 21.11.2006 04:59, Charles Hooper wrote:
> geraint.williams_at_gmail.com wrote:
>> Hello, >> >> Is the following safe, can we rely on the order of the columns being >> updated? (Oracle 10g) >> >> >> update t set old_date = current_date, current_date = sysdate; >> >> >> Thanks
Frankly, I don't see the difference between the two examples other than the column names. Are you sure that the first output was not caused by naming the column CURRENT_DATE?
SQL> select current_date from dual;
CURRENT_
SQL> @ C:\Temp\update.sql
CURRENT_
Tabelle wurde erstellt.
10 Zeilen wurden erstellt.
Transaktion mit COMMIT abgeschlossen.
ROW_SEQ OLD_DATE CURRENT_
---------- -------- --------
1 19.07.05 21.03.06
2 29.07.05 26.03.06
3 08.08.05 31.03.06
4 18.08.05 05.04.06
5 28.08.05 10.04.06
6 07.09.05 15.04.06
7 17.09.05 20.04.06
8 27.09.05 25.04.06
9 07.10.05 30.04.06
10 17.10.05 05.05.06
10 Zeilen ausgewählt.
10 Zeilen wurden aktualisiert.
Transaktion mit COMMIT abgeschlossen.
ROW_SEQ OLD_DATE CURRENT_
---------- -------- --------
1 21.03.06 21.11.06
2 26.03.06 21.11.06
3 31.03.06 21.11.06
4 05.04.06 21.11.06
5 10.04.06 21.11.06
6 15.04.06 21.11.06
7 20.04.06 21.11.06
8 25.04.06 21.11.06
9 30.04.06 21.11.06
10 05.05.06 21.11.06
10 Zeilen ausgewählt.
Tabelle wurde gelöscht.
Kind regards
robert
SELECT CURRENT_DATE FROM DUAL;
CREATE TABLE T4 (
ROW_SEQ NUMBER,
OLD_DATE DATE,
CURRENT_DATE DATE);
INSERT INTO
T4
SELECT
ROWNUM,
TRUNC(SYSDATE-10*(50-ROWNUM)) c1,
TRUNC(SYSDATE-5*(50-ROWNUM)) c2
FROM
AG_URL
WHERE
ROWNUM <=10;
COMMIT;
SELECT *
FROM T4
ORDER BY ROW_SEQ;
UPDATE
T4
SET
OLD_DATE=T4.CURRENT_DATE,
T4.CURRENT_DATE=TRUNC(SYSDATE);
COMMIT;
SELECT *
FROM T4
ORDER BY ROW_SEQ;
DROP TABLE T4;
Received on Tue Nov 21 2006 - 06:10:18 CST
![]() |
![]() |