SYSDATE zmienną jest?

Pytanie:

Jeżli zapytanie trawa kilka sekund, a używam w nim sysdate to jakie wartości będą zwracane?

Odpowiedź:

Wartość sysdate jest stała dla wszystkich odwołań. Wartość obliczana jest w momencie wykonania zapytania (execute), a nie w momencie czytania danch (fetch).

Test:


create table gmt ( a date )
/

declare
  cursor c1 is select sysdate from dba_objects;
begin
 for i in c1
 loop
  insert into gmt values (i.sysdate);
end loop;
end;
/

-- 4 sec

select distinct a from gmt
/

A
-

2007-04-11 15:46:35

drop table gmt
/

Leave a Reply

Szachy Ursus