сделать столбец в Sybase по умолчанию текущей датой / временем вставки строки - PullRequest
2 голосов
/ 06 октября 2010

У меня есть база данных Sybase 15, и для одной из моих таблиц я хочу установить в столбце значение по умолчанию для текущей даты / времени вставки строки. Это возможно?

В тексте sybase сказано следующее:

ALTER TABLE sales_order
MODIFY order_date DEFAULT CURRENT DATE

На моей БД это ничего не делает, так как CURRENT DATE не распознается.

Ответы [ 4 ]

8 голосов
/ 07 октября 2010

с использованием getDate() является допустимым решением, у вас должна быть синтаксическая ошибка. Попробуйте это так:

create table test_tbl (
     date_data DATETIME default getDate() NOT NULL
)
3 голосов
/ 06 октября 2010

Попробуйте вместо этого использовать getDate ()

2 голосов
/ 23 октября 2010

... DEFAULT GETDATE() правильно. дело не имеет значения; Смешанный регистр может указывать на метод Java, но это прямая функция TSQL. Пожалуйста, напишите точную ошибку, если вам нужна дополнительная помощь.

Кроме того, метод ALTER TABLE устанавливает значение по умолчанию для future INSERTS; если вы хотите изменить существующие данные, вам нужно ОБНОВИТЬ (хорошо для небольших таблиц) или выгрузить / перезагрузить таблицу (требуется для больших).

Смотрите NULL / NOT NULL: вы не хотите изменить это без понимания. Опять же, существующая / будущая проблема нуждается в решении. NOT NULL предотвращает явную передачу NULL как INSERT VALUE.

1 голос
/ 23 октября 2010

CURRENT_DATE - это стандарт SQL, не принятый повсеместно. Как уже отмечалось, вместо этого следует использовать функцию T-SQL getdate ().

...