Keith
Keith

Reputation: 310

Oracle Default Column Value Calculated Date

I am trying to create a table that has a default value for a date that is sysdate - 2 in oracle

Oracle seems to be fine with sysdate as the default but not sysdate - 2. Is this possible?

Upvotes: 1

Views: 3756

Answers (1)

Ollie
Ollie

Reputation: 17558

You need to specify the DEFAULT value in brackets:

Create the table:

CREATE TABLE order_status (
  order_id NUMBER,
  last_modified DATE DEFAULT (SYSDATE - 2)
);

Insert a record to test the default:

INSERT INTO order_status
(order_id)
VALUES
(1);

Select the data from the table to confirm the default worked (Current date 14/11/2011):

SELECT *
  FROM order_status;

ORDER_ID  LAST_MODIFIED
       1  12/11/2011

DB Version 10g.

Hope it helps...

Upvotes: 6

Related Questions