SQLсервер в Linux -самостоятельное освоение пакета

       

Использование констант current и now



Листинг 3.28. Использование констант current и now

booktown=# CREATE TABLE tasklog

booktown=# (taskname char(15),

booktown=# timebegun timestamp,

booktown=# timeflnished timestamp);

CREATE

booktown=# INSERT INTO tasklog VALUES

booktown=# ('delivery', 'now', 'current'):

INSERT 169936 1

booktown=# INSERT INTO tasklog

VALUES booktown=# ('remodeling', 'now', 'current');

INSERT 169937 1

booktown=# SELECT taskname, tlmefnished - timebegun

booktown-# AS timespent FROM tasklog;

taskname | timespent

delivery | 00:15-.32

remodeling [ 00:04:42

(2 rows)

Итак, константа now обычно используется при сохранении в таблице фиксированного момента времени, который не изменяется при последующих ссылках. Как видно из листинга 3.29, плохое понимание различий между константами now и current приводит к потенциальным ошибкам программирования SQL. В листинге приведены две команды INSERT; в первой команде используется now, а во второй — current. Сравнение результатов показывает, что в первой строке при каждом запросе время обновляется, а во второй строке оно всегда остается одинаковым.



Содержание раздела