Страница 1 из 1

SQL и Clarion Получить время с сервера

Добавлено: 12 Апрель 2025, 13:03
gopstop2007
Есть стандартное поле

Код: Выделить всё

inv_date        STRING(8) !Дата
inv_dategroup   GROUP,OVER(inv_date)
dateinv           DATE !Дата
timeinv           TIME !Время
                END
Вопрос, можно полю не используя {PROP:SQL} сразу присвоить значение (дата и время на сервере), которое он должен получить на самом сервера, аналогичное - NOW()?
Предложение получить время до того как запишу его на сервер, не подходит, так как будет различие во времени создании записи и в логах.
Спасибо за внимание. Буду благодарен за помощь.

SQL и Clarion Получить время с сервера

Добавлено: 13 Апрель 2025, 18:17
morkovin
gopstop2007 писал(а): 12 Апрель 2025, 13:03 Предложение получить время до того как запишу его на сервер, не подходит, так как будет различие во времени создании записи и в логах.
Может использовать lastModifiedTime.

SQL и Clarion Получить время с сервера

Добавлено: 14 Апрель 2025, 1:53
kreator
Вы хотите присвоить значение полю до команды Insert?

SQL и Clarion Получить время с сервера

Добавлено: 15 Апрель 2025, 10:22
gopstop2007
kreator писал(а): 14 Апрель 2025, 1:53 Вы хотите присвоить значение полю до команды Insert?
Нет, чтобы произошло добавление на сервер и в момент создании записи, сервер поставил время.

SQL и Clarion Получить время с сервера

Добавлено: 15 Апрель 2025, 10:25
gopstop2007
morkovin писал(а): 13 Апрель 2025, 18:17 lastModifiedTime
Не совсем понял о чем речь?

SQL и Clarion Получить время с сервера

Добавлено: 15 Апрель 2025, 12:15
morkovin
gopstop2007 писал(а): 15 Апрель 2025, 10:25
morkovin писал(а): 13 Апрель 2025, 18:17 lastModifiedTime
Не совсем понял о чем речь?
https://stackoverflow.com/questions/316 ... rver-table

SQL и Clarion Получить время с сервера

Добавлено: 16 Апрель 2025, 1:22
kreator
gopstop2007 писал(а): 15 Апрель 2025, 10:22
kreator писал(а): 14 Апрель 2025, 1:53 Вы хотите присвоить значение полю до команды Insert?
Нет, чтобы произошло добавление на сервер и в момент создании записи, сервер поставил время.
Ставите в настройках поля default значение Current time и всё. Нет?

SQL и Clarion Получить время с сервера

Добавлено: 16 Апрель 2025, 21:19
gopstop2007
kreator писал(а): 16 Апрель 2025, 1:22
gopstop2007 писал(а): 15 Апрель 2025, 10:22
kreator писал(а): 14 Апрель 2025, 1:53 Вы хотите присвоить значение полю до команды Insert?
Нет, чтобы произошло добавление на сервер и в момент создании записи, сервер поставил время.
Ставите в настройках поля default значение Current time и всё. Нет?
К сожалению не работает

SQL и Clarion Получить время с сервера

Добавлено: 16 Апрель 2025, 22:15
kreator
Почему не работает? А явно в триггере на Insert?

SQL и Clarion Получить время с сервера

Добавлено: 22 Апрель 2025, 18:08
gopstop2007
kreator писал(а): 16 Апрель 2025, 22:15 Почему не работает? А явно в триггере на Insert?
Не совсем понял, мне нужно с клиентской машины отправить на SQL сервер, вроде такого

Код: Выделить всё

inv_date = 'NOW()'
ADD(Inv)
Чтобы Mysql сам вставил, дату и время сервера

SQL и Clarion Получить время с сервера

Добавлено: 23 Апрель 2025, 12:50
kreator
MySQL не знаю. Вот на примере Firebird. Есть возможность задать default value. Если Вы посылаете код:

Код: Выделить всё

inv_date = 0  ! или inv_date = ''
ADD(Inv)
, то сервер сам подставляет default value. А default_value может быть Current_date (Current_time, current_timestamp, current_user), это глобальные переменные сервера. Не верю, чтобы в MySQL не было чего-то подобного.
Второй вариант. Пишете триггер на стороне сервера на событие Insert. Туда вставляете свой код:

Код: Выделить всё

Mytable.inv_date = 'NOW()'  ! или new.inv_date = 'NOW()'