V SQL DBMS je přístup select-test-insert chybou:nic nebrání jinému procesu vložit „chybějící“ řádek mezi váš select
a insert
prohlášení. Místo toho proveďte toto:
INSERT INTO mytable (color, brightness, size, age)
SELECT color, brightness, size, age
FROM mytable
WHERE NOT EXISTS (
select 1 from
from mytable
where color = 'X' and brightness = 'Y'
);
SELECT (color, brightness, size, age)
FROM mytable
WHERE color = 'X' AND brightness= 'Y';
Měli byste být schopni předat celý tento text jako jeden „dotaz“ do DBMS. Možná budete chtít zvážit její převedení do uložené procedury.