使sybase中的列默认为行插入的当前日期/时间

时间:2010-10-06 15:55:39

标签: date default sybase

我有一个sybase 15 DB,对于我的一个表,我想将列默认设置为行插入的当前日期/时间。这可能吗?

在sybase文本中,如下所示:

ALTER TABLE sales_order
MODIFY order_date DEFAULT CURRENT DATE

在我的数据库中,由于无法识别CURRENT DATE,因此无法执行任何操作。

4 个答案:

答案 0 :(得分:8)

使用getDate()是一种有效的解决方案,您必须遇到语法错误。试试这样:

create table test_tbl (
     date_data DATETIME default getDate() NOT NULL
)

答案 1 :(得分:3)

尝试使用getDate()代替

答案 2 :(得分:2)

... DEFAULT GETDATE()是正确的。这个案子无关紧要; mixed case可能表示Java方法,但它是一个直接的TSQL函数。如果您需要进一步的帮助,请发布确切的错误消息。

此外,ALTER TABLE方法为 future INSERTS设置默认值;如果您希望更改现有数据,则需要UPDATE(适用于小表)或卸载/重新加载表(需要更大)。

观察NULL / NOT NULL:你不想在不理解的情况下改变它。同样,现有/未来的问题需要解决。 NOT NULL可防止将NULL显式传递为INSERT VALUE。

答案 3 :(得分:1)

CURRENT_DATE是一种未被普遍采用的SQL标准。 如其他地方所述,应该使用getdate()T-SQL函数。