如何使用基于交易的策略来确保同一地点在同一天不能被多次预订?
有人向我建议,每个隔离级别都会有所不同。你能为他们每个人添加一个例子吗?( read committed
,repeatable read
和serializable
)。我想了解他们中的每一个人。
以下是表格和测试数据:
CREATE TABLE place (
place_id INT PRIMARY KEY,
Name CHARACTER VARYING(50) NOT NULL,
Type CHARACTER VARYING(50) NOT NULL
);
CREATE TABLE visit (
visit_id SERIAL PRIMARY KEY,
place_id INT NOT NULL,
place_dt TIMESTAMP NOT NULL,
FOREIGN KEY (place_id) REFERENCES place(place_id)
);
INSERT INTO place(place_id, Name, Type
) VALUES
(1, 'Denali', 'mountain'),
(2, 'Brindley', 'mountain'),
(3, 'St. Louis Cathedral', 'church')
;
INSERT INTO visit(place_id, place_dt
) VALUES
(1, '2019-01-02 10:00'), …
Run Code Online (Sandbox Code Playgroud)