在Oracle数据库中,您可以通过多种方式为列设置默认值。以下是详细的方法和示例:
CREATE TABLE employees (
employee_id NUMBER PRIMARY KEY,
first_name VARCHAR2(50),
last_name VARCHAR2(50),
hire_date DATE DEFAULT SYSDATE, -- 默认值为当前系统日期
status VARCHAR2(20) DEFAULT 'ACTIVE', -- 默认字符串值
bonus NUMBER(10,2) DEFAULT 0, -- 默认数字值
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP -- 默认时间戳
);
ALTER TABLE employees
MODIFY (status DEFAULT 'INACTIVE');
INSERT INTO employees (employee_id, first_name, last_name, hire_date)
VALUES (1, 'John', 'Doe', DEFAULT); -- 使用列的默认值
-- 使用序列作为默认值
CREATE SEQUENCE emp_seq START WITH 1 INCREMENT BY 1;
CREATE TABLE employees (
employee_id NUMBER DEFAULT emp_seq.NEXTVAL PRIMARY KEY,
-- 其他列...
);
-- 使用函数作为默认值
CREATE TABLE orders (
order_id NUMBER PRIMARY KEY,
order_date DATE DEFAULT SYSDATE,
expected_ship_date DATE DEFAULT SYSDATE + 7 -- 7天后
);
SELECT column_name, data_type, data_default
FROM user_tab_columns
WHERE table_name = 'EMPLOYEES';
通过合理使用默认值,可以简化数据插入操作并确保数据一致性。