Как вставить current_timestamp, используя Spring JDBCNamedParameterTemplate в MS SQL Server? - PullRequest
0 голосов
/ 28 марта 2020

Я использую подготовленный оператор с использованием Spring JDBCNamedParameterTemplate в MS SQL Сервер

String sqlUpsateEntity = "update mytable \n" + "set name = :myname, Current_Date = current_timestamp from mytable where mytable_id = :id";

«Current_Date = current_timestamp» выдает ошибку

com.microsoft.sqlserver.jdbc.SQLServerException: Incorrect syntax near 'Current_Date'."

Как вставить текущую метку времени ?

Обновление

@ Мартин Кейрни указал, что причиной может быть другая проблема, и он прав. Когда я добавил «Current_Date = current_timestamp» в фактический код, я забыл поставить «,» после предыдущего предложения. Так что current_timestamp работает просто отлично.

1 Ответ

1 голос
/ 28 марта 2020

Синтаксис выглядит нормально - я не уверен, что использование CURRENT_TIMESTAMP является вашей проблемой, но возможные способы проверить это включают использование других системных параметров даты и времени: SYSDATETIME () GETDATE ()

Я бы посоветовал попробовать с каждым из них проверить, выполняет ли он то же самое.

Другой вариант, не видя схему таблицы и значения параметров, - это несоответствие между ними. Убедитесь, что вы передаете соответствующий тип данных для :myname, а также что Current_Date является типом данных DATETIME, а также что значение, переданное для :id, соответствует типу данных столбца mytable_id.

...