所以我有这张桌子
create table c_order(
order_date date not null,
order_id number,
customer_id number not null,
product_id number not null,
primary key (order_id),
foreign key (customer_id) references Customer(customer_id),
foreign key (product_id) references products(product_id)
);
客户订购产品。
现在我希望它是这样的,当使用'Insert into'
输入数据时,我们不需要插入日期而是会自动保存到当前数据。我应该更改create table
结构还是使用触发器?那么语法是什么?在触发器中是在插入之前/之后吗?
答案 0 :(得分:0)
答案 1 :(得分:0)
我找到了自己的答案..
默认在这里不起作用,因为数据类型是日期,并且函数不能用于将默认值放在date数据类型中(对于时间戳,可以这样做)。
答案是触发器。代码是(对于oracle ..对于mysql sysdate()应该改为now())
CREATE or REPLACE TRIGGER auto_insert_date BEFORE INSERT ON c_order
FOR EACH ROW
begin
:NEW.order_date := sysdate();
end;