Estoy usando informix, y quisiera saber como escribir en SQL:
Si ya existe el registro, no permitir insertarlo de nuevo.
Gracias por adelantado.
IF EXISTS (SELECT blah blah) instrucciones si se da la condición ELSE instrucciones si no se da la condición ;
También puedes usar IF NOT EXISTS, tal vez sea más fácil para este caso.
Caray mi friendk ya se inventaron los indices de tipo UNIQUE o PRIMARYk creo que seria mejor con esta opcion no creen?
En Informix, el equivalente del IF es CASE
SELECT cust_name,
CASE
WHEN number_of_problems = 0
THEN 100
WHEN number_of_problems > 0 AND number_of_problems < 4
THEN number_of_problems * 500
WHEN number_of_problems >= 4 and number_of_problems <= 9
THEN number_of_problems * 400
ELSE
(number_of_problems * 300) + 250
END,
cust_address
FROM custtab
Aqui tienes un enlace hacia el sitio de IBM (Informix), has une busqueda de "CASE expressions"
http://publib.boulder.ibm.com/infocenter/idshelp/v...
SE UTILIZA SIMPLEMENTE COMO CONDICION, if cardgrop = xxxxxx ETC, ETC, then BLABLA, ES COMO SI ESTO ES A ESTO ENTONCES ESTO OTRO.
En SQL Server hay una funcion mas o menos asi:
if exists (select * from TABLA where id = 1)
begin
....... bla
end
No se si aplica lo mismo en Informix
Copyright © 2024 Q2A.ES - All rights reserved.
Answers & Comments
Verified answer
IF EXISTS (SELECT blah blah) instrucciones si se da la condición ELSE instrucciones si no se da la condición ;
También puedes usar IF NOT EXISTS, tal vez sea más fácil para este caso.
Caray mi friendk ya se inventaron los indices de tipo UNIQUE o PRIMARYk creo que seria mejor con esta opcion no creen?
En Informix, el equivalente del IF es CASE
SELECT cust_name,
CASE
WHEN number_of_problems = 0
THEN 100
WHEN number_of_problems > 0 AND number_of_problems < 4
THEN number_of_problems * 500
WHEN number_of_problems >= 4 and number_of_problems <= 9
THEN number_of_problems * 400
ELSE
(number_of_problems * 300) + 250
END,
cust_address
FROM custtab
Aqui tienes un enlace hacia el sitio de IBM (Informix), has une busqueda de "CASE expressions"
http://publib.boulder.ibm.com/infocenter/idshelp/v...
SE UTILIZA SIMPLEMENTE COMO CONDICION, if cardgrop = xxxxxx ETC, ETC, then BLABLA, ES COMO SI ESTO ES A ESTO ENTONCES ESTO OTRO.
En SQL Server hay una funcion mas o menos asi:
if exists (select * from TABLA where id = 1)
begin
....... bla
....... bla
....... bla
end
No se si aplica lo mismo en Informix