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
/