Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   PostgreSQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=42)
-   -   Como ejecutar el if not exists en PG (https://www.clubdelphi.com/foros/showthread.php?t=90882)

uper 26-09-2016 20:58:46

Como ejecutar el if not exists en PG
 
buenas tardes, tengo que agregar registros a una tabla segun sea el caso si ya existe que se actualice sino se inserte un nuevo registro pero el caso es que me marca error en el if desde el Query del Pgadmin
Código PHP:

ERROR:  error de sintaxis en o cerca de «if»
LINE 4
: if not exists (select rfc from datossolcliente where not exi... 

Existe algo parecido al sql server pero en postgres como seria:

Código PHP:

if not exists (select rfc from datossolcliente where suc='HRM' and rfc='ISP010123QW4'then
 Insert into datossolcliente
(succuentarfcdiaspagovalues('001','000035''ISP0101'01000,'1');
else
   
Update datossolcliente set cuenta='000035'diaspago='3' where suc='HRM' and rfc='ISP010123QW4'
end if 

les agradesco, gracias

aposi 26-09-2016 21:11:56

mira si con esto lo puedes solucionar:

https://www.postgresql.org/docs/9.5/...ql-insert.html

mamcx 26-09-2016 21:34:39

Para poder ejecutar comandos procedurales tienen que estar dentro de una funcion.

uper 26-09-2016 23:10:11

ok, revisare como se crean los sp para despues llamrlos a ejecutar

gracias

gatosoft 28-09-2016 06:30:15

No existe una función asi, pero puedes hacer lo siguiente:

Código SQL [-]
UPDATE table SET field='C', field2='Z' WHERE id=3;
INSERT INTO table (id, field, field2)
       SELECT 3, 'C', 'Z'
       WHERE NOT EXISTS (SELECT 1 FROM table WHERE id=3);

Ver solución en StackOverflow o ésta otra alternativa eb en GitHub


La franja horaria es GMT +2. Ahora son las 04:01:02.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi