powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / DB2 Значения по умолчанияю без редактирования
6 сообщений из 6, страница 1 из 1
DB2 Значения по умолчанияю без редактирования
    #35849931
olzhas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня вообщем такая задачка.
Есть таблица, в ней хочу добавить одно поле которое отвечало бы за дату изменения\добавления записи.

Код: plaintext
1.
2.
3.
4.
5.
CREATE TABLE TEST
 (ID         INTEGER  NOT NULL,
  ...
  DATEMODIF  DATE     NOT NULL  DEFAULT CURRENT DATE
 )

Сделал вот так, однако меня смущает тот факт что дата генерируется только по умолчанию.

Для integer полей можно задать констркуцию generate always, можно ли такое задать и для даты?
...
Рейтинг: 0 / 0
DB2 Значения по умолчанияю без редактирования
    #35849973
Vladimir Kiselev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
olzhas,

Сделайте два триггера, например, которые будут устанавливать эту дату в нужное значение.
...
Рейтинг: 0 / 0
DB2 Значения по умолчанияю без редактирования
    #35850071
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
olzhasУ меня вообщем такая задачка.
Есть таблица, в ней хочу добавить одно поле которое отвечало бы за дату изменения\добавления записи.

Код: plaintext
1.
2.
3.
4.
5.
CREATE TABLE TEST
 (ID         INTEGER  NOT NULL,
  ...
  DATEMODIF  DATE     NOT NULL  DEFAULT CURRENT DATE
 )

Сделал вот так, однако меня смущает тот факт что дата генерируется только по умолчанию.

Для integer полей можно задать констркуцию generate always, можно ли такое задать и для даты?Можно для любого типа, для которого определено равенство.
Т.е. нельзя только для lob, xml, структурных типов.
...
Рейтинг: 0 / 0
DB2 Значения по умолчанияю без редактирования
    #35850162
olzhas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А не подскажите синтаксис описания
а то вот так не получается

Код: plaintext
DATEMODIF  DATE     NOT NULL GENERATED ALWAYS AS CURRENT DATE
...
Рейтинг: 0 / 0
DB2 Значения по умолчанияю без редактирования
    #35850356
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
olzhasА не подскажите синтаксис описания
а то вот так не получается

Код: plaintext
DATEMODIF  DATE     NOT NULL GENERATED ALWAYS AS CURRENT DATE
Так не получится, т.к. спец. регистры нельзя использовать в выражении для generated always.
Можно написать простую ф-цию на c или java, которая будет брать дату из системы, типа:
--- get_date.c ---
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
#include <string.h> 
#include <stdlib.h> 
#include <time.h> 
#include <sqludf.h> 
 
#ifdef __cplusplus
extern "C"
#endif
void SQL_API_FN get_date( 
        SQLUDF_DATE *result,      /* output */ 
        /* null indicators */ 
        SQLUDF_NULLIND *result_ind, 
        SQLUDF_TRAIL_ARGS) 
{ 
  struct tm *lt;
  time_t t;

  time(&t);
  lt = localtime(&t);
  sprintf(result, "%.4d-%.2d-%.2d\n", lt->tm_year+ 1900 , lt->tm_mon, lt->tm_mday);
  *result_ind =  0 ; 
}
--- get_date.sql ---
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
CREATE FUNCTION get_date()
RETURNS DATE
EXTERNAL NAME 'get_date!get_date'
LANGUAGE C 
PARAMETER STYLE SQL
DETERMINISTIC
FENCED
NO SQL
NO EXTERNAL ACTION;
---
библиотеку get_date поместить в sqllib\function и:
Код: plaintext
DATEMODIF  DATE     NOT NULL GENERATED ALWAYS AS (get_date())
...
Рейтинг: 0 / 0
DB2 Значения по умолчанияю без редактирования
    #35850684
olzhas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Mark Barinstein,

Для меня это пока сложновато. Мне проще триггер написать. Но все равно спасибо. Как нибудь на досуге попробую реализовать вашу версию.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / DB2 Значения по умолчанияю без редактирования
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]