CREATE TABLE employees (
employee_id SERIAL PRIMARY KEY,
first_name VARCHAR(50),
last_name VARCHAR(50)
);
CREATE TABLE orders (
order_id SERIAL PRIMARY KEY,
order_date DATE DEFAULT CURRENT_DATE,
total_amount DECIMAL(10, 2) DEFAULT 0
);
NEXTVAL
和CURRVAL
函数手动获取序列的下一个值和当前值。例如:SELECT NEXTVAL('employee_id_seq');
SELECT CURRVAL('employee_id_seq');
SETVAL
函数来设置序列的当前值,从而实现序列的重置和重新开始。例如:SELECT SETVAL('employee_id_seq', 1);
CACHE
参数来指定序列的缓存大小,以提高性能。缓存大小表示序列一次递增的值的个数,当序列的当前值达到缓存大小时,会再次递增缓存大小个值,减少序列访问的开销。例如:CREATE SEQUENCE employee_id_seq CACHE 10;