PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Escreva um Postgres Get ou crie uma consulta SQL


Em um SQL DBMS, a abordagem select-test-insert é um erro:nada impede que outro processo insira a linha "ausente" entre seu select e insert declarações. Faça isso em vez disso:
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';

Você deve ser capaz de passar todo o texto como uma única "consulta" para o DBMS. Você pode querer considerar transformá-lo em um procedimento armazenado.